PHP脚本不接受来自具有AngularJS脚本

时间:2015-09-25 18:36:02

标签: javascript php angularjs ionic-framework ionic

我的客户端应用程序将一个json对象发送到php中的服务器。

客户端代码:

 var jacc = JSON.stringify(acc);console.log(acc);
 $http.post($rootScope.url+'signup.php',jacc)
   .then(function(response){console.log(response.data);});

完美无缺。

但在服务器端

 $acc = $_POST["jacc"];
  $code = $_POST["code"];//received later
  if($acc){
     echo 1;//this thing never echoed. 
 }
  elseif ($code  && matchCode($code)){
    if(addAcc($acc))
        echo 1;

}
else echo 0 ." failed";
die();

控制台的输出总是" 0失败"。尝试将帖子请求更改为httpbin.org/post,效果很好。所以问题出在我的PHP脚本上。还尝试了var_dump($_POST),它也返回空值。

2 个答案:

答案 0 :(得分:4)

您的JavaScript代码应该是:

var params = { jacc : JSON.stringify(acc) };
// or var params = acc; if acc is already an object with the "jacc" property
$http.post($rootScope.url+'signup.php', params)
   .then(function(response){
       console.log(response.data);
   });

您的错误是您尝试发布"字符串"当你需要使用key:value。

发布一个对象时

答案 1 :(得分:0)

tiltem 保存了我的一天..感谢 dievardump 寻求帮助..最后我遇到了问题,能够解决它。使用JSON内容类型时,$ _POST数组将不会填充。我必须做的就是修复它 $rest_json = file_get_contents("php://input"); $_POST = json_decode($rest_json, true);