php服务器无法使用$ .http()。post request从angularjs接收json变量

时间:2016-01-21 17:19:41

标签: javascript php angularjs json ajax

我正在通过我的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”];

2 个答案:

答案 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));


   });

}