我正在通过我的AngularJS移动应用程序向php脚本发送帖子请求。 当我使用这个代码形式action =“url”method =“post”在html.its工作正常。 但是当我在angularjs中使用ajax url请求时,php服务器没有收到值。那我怎么能实现呢?
mycode的:
var data:{jwt:'s21@s.com'}
var req={
method : 'POST',
url: 'http:url//'
}
$http(req).success(function(data){
alert(JSON.stringify(data));
}).error(function(data) {
alert("failure");
alert(JSON.stringify(data));
});
}
myphp代码:
$ id = $ _POST [“jwt”];
答案 0 :(得分:0)
这是使用$http.post
的错误方法。它只是$http({})
的包装器。您真正想要的是使用$http({})
或相应地使用$http.post()
:
$http.post(
req.url,
//your data
).then(successCallback, errorCallback);
答案 1 :(得分:0)
this is th prefect solution. i got the answer
var app=angulamodule("myapp",[])
.config(function ($httpProvider){
$httpProvider.defaults.transformRequest = function(data){
if (data === undefined) {
return data;
}
return serialize(data);
};
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';
})
var serialize = function(obj, prefix) {
var str = [];
for(var p in obj) {
if (obj.hasOwnProperty(p)) {
var k = prefix ? prefix + "[" + p + "]" : p, v = obj[p];
str.push(typeof v == "object" ?
serialize(v, k) :
encodeURIComponent(k) + "=" + encodeURIComponent(v));
}
}
return str.join("&");
};
var req = { 方法:'POST', url:'http:url //' }
$http(req).success(function(data){
alert(JSON.stringify(data));
}).error(function(data) {
alert("failure");
alert(JSON.stringify(data));
});
}