在我的角度应用程序中,我试图将数据发送到php脚本然后返回回调。
这是角度代码:
var data = { value: 'somestring' };
$http.post("post_backend.php", data).success(function(data, status) {
alert(data + status);
}).error(function(data, status) {
alert(data + status);
});
在我的PHP代码中,我有一个简单的回调函数:
if (isset($_POST['value'])) {
header('Content-Type: application/json');
echo json_encode('successful callback');
exit();
}
但是当它执行时,我会在警报消息中获得成功状态,而不是其他任何内容。 我没有得到数据('成功回调')并且无法弄清楚大约几个小时,问题是什么?
答案 0 :(得分:1)
此代码适用于我。
$params = json_decode(trim(file_get_contents('php://input')), true);
if (isset($params['value'])) {
header('Content-Type: application/json');
echo json_encode(['status'=>'successful callback']);
exit();
}
答案 1 :(得分:1)
我找到了答案。我不得不重新配置我将数据发送到PHP脚本的方式。我发现这篇非常有用的文章:How can I post data as form data instead of a request payload?
我必须实现jquery并将标头添加到我的请求中。在PHP脚本中我除了if语句和echo之外不需要任何东西。
答案 2 :(得分:0)
尝试使用响应正确的JSON,例如echo json_encode(['status'=>'成功回调']);