我没有使用对象或单个参数构造$http.post
请求的问题,但在一个特定情况下,我需要传递2个简单参数,一个整数和一个字符串。
通常我会使用:
$http.post(url, id)
.success(function (data, status, header) {
$scope.result = data;
})
.error(function (data, status, header) {
$scope.result = "Data: " + data +
"<hr />status: " + status;
console.log(header.responseText);
});
但是如何修改它以传递两个参数?
我尝试创建一个具有两个属性的对象并传递该对象:
var inData = {
id: id,
param2: param2
}
$http.post(url, inData)
.success(function (data, status, header) {
$scope.result = data;
})
.error(function (data, status, header) {
$scope.result = "Data: " + data +
"<hr />status: " + status;
console.log(header.responseText);
});
但后来我不确定在我的Web API方法中通过url
参数传递的参数是什么。
是否可以传入2个单独的参数而不是传入对象?
答案 0 :(得分:0)
但后来我不确定在我的Web API方法中通过url参数传递的参数是什么。
作为可选配置对象的一部分,URL参数被添加到$http.post
方法:
var params = { name: value,
name2: value2
};
$http.post(url, data, { params: params });
在上面的示例中,$ http服务会将?name=value&name2=value2
附加到网址。 data
参数放在POST请求的主体中。如果data
参数是一个对象,它将使用默认的transformRequest函数转换为字符串。
有关详细信息,请参阅AngularJS $http Service API Reference。