我想通过angular发送一个帖子请求。我的问题是角度实际上发送一个get请求而不是post请求。我的角度请求在这里:
$http({
method: 'POST',
url: pages_url,
params: {
'page': $scope.current_page_id,
'news': JSON.stringify(news),
'method': 'POST'
}
}).then(function (response) {
alert(JSON.stringify(response));
});
当我使用浏览器的网络选项卡调试请求时,我在服务器URL中看到请求的参数。我该怎么办?
答案 0 :(得分:2)
我会这样写:
var req_body = {
page: $scope.current_page_id,
news: JSON.stringify(news),
method: 'POST' // <- is this really a parameter you want or do you misunderstood the post as a request?
};
$http.post(pages_url, req_body)
.then(function (response) {
alert(JSON.stringify(response));
});
答案 1 :(得分:0)
试试这个:
function yourFunction(param1, param2) {
return $http({
method: 'POST',
url: yourUrl,
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("&");
},
data: {username: param1, password: param2}
})
.then(function(response) {
return response;
});
}