我有我的客户端应用程序将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)
,它也返回空值。 最佳答案
您的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的对象时尝试发布“字符串”。