本人angularjs小白,今天遇到这样一个问题。
在angularjs中发出这样一个POST请求
$http({
method: "POST",url: "",params: id
}).success();
在调试中发现,参数在url上出现了,就是以?id=123124的形式出现,跟GET请求变成一样的了,然后查了一下发现参数的写法『修改后
$http({
method: "POST",data: id
}).success();
发现发送的参数出现在了request payload里,并且还在一个大括号内(这能算是个对象吗?),后端无法获取参数
$http({
method: "POST",data: id,headers: { 'Content-Type': 'application/x-www-form-urlencoded' },transformRequest: function(obj) {
var str = [];
for (var p in obj) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}
}).success(); 然后就可以了。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如果觉得《angular ajax get post 参数 关于angularjs中$http POST请求参数的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!