PHP无法通过AJAX调用发送响应文本

时间:2018-08-29 14:06:17

标签: php jquery ajax

不能一辈子努力工作,希望我不会做一些愚蠢的事情,但是为什么这不起作用对我来说还是不清楚的。

我有一个带有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扩展程序在控制台中得到的响应:

Console Screenshot

有什么想法的人吗?

1 个答案:

答案 0 :(得分:2)

您需要从PHP顶部删除此行:

<!-- Ajax request handler -->

就像当您使用dataType: 'json'进行ajax调用时,它根本不会解析响应,然后当您执行console.log(data);时,它只是空的,没有控制台日志。

当您删除该行时,您应该改为在“网络”标签中收到响应:

{"message":"AJAX call received"}

然后在console.log(data);中,您应该看到:

Object {message: "AJAX call received"}