【发布时间】:2016-04-06 03:20:19
【问题描述】:
在我的 Angular 应用程序中,我试图将数据发送到 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();
}
但是当它执行时,我在警报消息中得到一个成功状态,没有别的。 我没有得到数据('成功回调')并且大约几个小时都无法弄清楚,这是什么问题?
【问题讨论】:
-
看起来
if (isset($_POST['value']))条件从未满足。如果你echo($_POST)怎么办? PHP 收到什么? -
@JeremyThille 你是对的,条件不满足。但问题是什么?我该如何解决?
-
不要使用
alert()而是使用console.log()并在浏览器中打开您的开发工具,这样可以防止调试数据格式错误。也不要使用+运算符,而是使用逗号分隔参数,如下所示:console.log(data, status)。确保控制台中没有错误并检查网络选项卡以查看请求是否正确触发。 -
@MyOwnFan
What is the problem? How can I fix it?这就是我们想要在这里找到的。因此我的问题是“如果你echo($_POST)怎么办?PHP 收到什么?”如果您回答,那将很有帮助:) -
@JeremyThille 它返回一个空字符串。正如我所说,你是对的,if 语句没有被触发。
标签: javascript php angularjs