我正在尝试使用angularjs创建帖子请求。这是我向供应商添加供应商的代码。
SupplierService.addNewSupplier = function(supplier) {
alert (supplier.name);
alert (supplier.mobile);
var Indata = {'name': supplier.name, 'mobile': supplier.mobile};
//var Indata = {'product': $scope.product, 'product2': $scope.product2 };
var req = {
url: SupplierURL,
method: 'POST',
params: Indata,
headers: {'Content-Type': 'application/json'}
};
//$http.post(SupplierURL, Indata)
$http(req)
.then(function(success){
console.log(success);
//SupplierList.push({id: data, name: supplier.name, mobile: supplier.mobile});
supplier.name = "";
supplier.mobile = "";
},function (error){
console.log(error);
alert ('Supplier add error.');
});
};
发出请求后,回调即将出现在错误部分,在控制台日志中我可以看到。
{error:true,message:“无法创建供应商。请重试”,name:null,mobile:null}
为什么名称和移动设备无法访问服务器。相同的请求适用于postman(api测试工具)。所以我不知道服务器端代码中可能存在anu问题。任何帮助将不胜感激。
答案 0 :(得分:0)
从$ http文档中,您可以清楚地看到请求参数:
https://docs.angularjs.org/api/ng/service/$http
var req = {
method: 'POST',
url: 'http://example.com',
headers: {
'Content-Type': undefined
},
data: { test: 'test' }
}
$http(req).then(function(){...}, function(){...});
因此,在您的情况下,您需要使用params
切换data
:
var req = {
url: SupplierURL,
method: 'POST',
data: Indata,
headers: {'Content-Type': 'application/json'}
};