PHP脚本不接受来自具有AngularJS脚本的客户端的GET / POST数据

I have my client app sending a json object to server which is in php.

Client side code:

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

which works perfectly fine.

But at server side

 $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();

The output at the console will be always "0 failed". Tried changing the post request to httpbin.org/post which works well. so the problem is with my php script. Also tried a var_dump($_POST) which also returns null value.

tiltem saved my day.. thanks to dievardump for help.. Finally i got the issue and able to fix it. When using JSON content-type the $_POST array will not populate. All i had to do to fix it was $rest_json = file_get_contents("php://input"); $_POST = json_decode($rest_json, true);

Your JavaScript code should be something like :

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);
   });

Your error is that you try to post a "string" when you need to post an object with key:value.