不能一辈子努力工作,希望我不会做一些愚蠢的事情,但是为什么这不起作用对我来说还是不清楚的。
我有一个带有JQuery脚本的基本HTML页面,该页面将以下AJAX调用发送到同一目录中的PHP脚本。
jQuery:
// Sends the AJAX request
$.ajax({
type: "GET",
url: "process.php",
dataType: "json",
success: function(data) {
console.log(data);
}
});
PHP:
<!-- Ajax request handler -->
<?php
echo json_encode(array('message' => 'AJAX call received'));
exit();
?>
AJAX调用已成功完成,因为在控制台中对其进行了调试后,其状态代码为200,statusText为“ ok”。但是,我根本无法将返回的JSON消息显示在控制台中。
我已经仔细检查了URL,这很好。
这是我使用Jeff Hatz的AJAX调试器Chrome扩展程序在控制台中得到的响应:
有什么想法的人吗?
答案 0 :(得分:2)
您需要从PHP顶部删除此行:
<!-- Ajax request handler -->
就像当您使用dataType: 'json'
进行ajax调用时,它根本不会解析响应,然后当您执行console.log(data);
时,它只是空的,没有控制台日志。
当您删除该行时,您应该改为在“网络”标签中收到响应:
{"message":"AJAX call received"}
然后在console.log(data);
中,您应该看到:
Object {message: "AJAX call received"}