AngularJS将数据传递给$ http.get请求

我有一个函数做一个HTTP POST请求。 代码在下面指定。 这工作正常。

 $http({
   url: user.update_path, 
   method: "POST",
   data: {user_id: user.id, draft: true}
 });

我有另一个http GET函数,我想发送数据到这个请求。 但我没有这个选择。

 $http({
   url: user.details_path, 
   method: "GET",
   data: {user_id: user.id}
 });

http.get的语法是

get(url,config)

有人可以帮我弄这个吗?


HTTP GET请求不能包含要发布到服务器的数据。 但是,您可以向请求添加查询字符串。

angular.http提供了一个称为params的选项。

$http({
    url: user.details_path, 
    method: "GET",
    params: {user_id: user.id}
 });

请参阅:http://docs.angularjs.org/api/ng.$http#get和https://docs.angularjs.org/api/ng/service/$http#usage(显示params参数)


您可以直接将params传递给$http.get()以下工作正常

$http.get(user.details_path, {
    params: { user_id: user.id }
});

AngularJS v1.4.8开始,你可以使用get(url, config) ,如下所示:

var data = {
 user_id:user.id
};

var config = {
 params: data,
 headers : {'Accept' : 'application/json'}
};

$http.get(user.details_path, config).then(function(response) {
   // process response here..
 }, function(response) {
});
链接地址: http://www.djcxy.com/p/7277.html

上一篇: AngularJS passing data to $http.get request

下一篇: Is it true that the data sent through GET method are limited?