Javascript 角度:将参数传递给$http.get
我正在尝试将params对象传递给Javascript 角度:将参数传递给$http.get,javascript,angularjs,http,Javascript,Angularjs,Http,我正在尝试将params对象传递给$http.get()服务。我的爱人看起来像这样: var params = { one: value, two: value } $http.get('/someUrl', {params: params}) .success(function(data) { // stuff }) .error(function(data) { // error stuff }); 我试着将它们传递到我的函数中,如下所示: $http.get('/s
$http.get()
服务。我的爱人看起来像这样:
var params = {
one: value,
two: value
}
$http.get('/someUrl', {params: params})
.success(function(data) {
// stuff
})
.error(function(data) {
// error stuff
});
我试着将它们传递到我的函数中,如下所示:
$http.get('/someUrl', params)
.success(function(data) {
// stuff
})
.error(function(data) {
// error stuff
});
这是执行此操作的正确方法吗?$http建议$http.get方法的第二个参数是一个对象,您可以将其与“param”对象一起传递
试着这样做:
var params = {
one: value,
two: value
}
$http.get('/someUrl', {params: params})
.success(function(data) {
// stuff
})
.error(function(data) {
// error stuff
});
服务/工厂
对于实际调用,请使用一个工厂或服务,您可以将其注入到所需的控制器中。这是一个工厂传递参数的示例
.factory('Chats', function ($http, $rootScope, $stateParams) {
return {
all: function () {
return $http.get('http://ip_address_or_url:3000/chats', { params: { user_id: $rootScope.session } })
}
};
});
控制器
在控制器中,您使用的服务如下
.controller('ChatsCtrl', function ($scope, Chats) {
Chats.all().success(function (response) {
$scope.chats = response;
})
})
$http
的第二个参数是一个配置对象()。在其他属性中,config对象接受params
属性:
- params–
–将使用paramSerializer序列化并作为GET参数追加的字符串或对象的映射李>{Object.}
var config = {
params: {
one: value,
two: value
}
}
$http.get('/someUrl', config).then(...)
假设参数的值分别为“1”和“2”,$http
将向以下url发送GET请求:
/someUrl?one=1&two=2
请注意,尽量避免在
$http
上使用success
和error
函数。自1.4.4起,它们已被弃用。使用方法then
进行成功和错误回调,或者只进行成功回调和catch我最近遇到了类似的问题,我不得不向请求添加一些额外的细节(我使用了带有一些标题的已接受答案):
它们是路径/查询参数吗?这太棒了!谢谢你。