Issue
I want to make a Get request to my Backend, but I want to verify some user credentials before sending the response object.
Here is my code:
$scope.getEverything = function (){
$http.get('http://localhost:1234/things').success(function(data){
$scope.things = data;
});
};
I've tried the same code with the following syntax:
$http.method('path).then
$http.method(config)
And I just could not figure out how to pass in some data. Trying to use params:data as the config object with print out:
GET http://localhost:1234/[object%20Object] 404 (Not Found)
On the console.
The AngularJS Docs don't say a word about sending data with GET requests. I've also tried some answers of Stack, but most of then are outdated and just won't work.
Can I send data with GET request or this is just one design error of my application?
Solution
You're most likely going to need to use a POST method instead of a GET method.
But to do it with a GET method:
From AngularJS passing data to $http.get request:
A HTTP GET request can't contain data to be posted to the server. However you can add a query string to the request.
angular.http provides an option for it params.
$http({
url: user.details_path,
method: "GET",
params: {user_id: user.id}
});
And using AngularJS to POST instead:
$http.post('/someUrl', {msg:'hello word!'}).
then(function(response) {
// this callback will be called asynchronously
// when the response is available
}, function(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
Answered By - Wyetro
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.