在Chrome开发者工具中查看AJAX响应内容?

时间:2010-07-08 02:33:10

标签: ajax google-chrome webkit developer-tools web-developer-toolbar

传统上我使用FireBug来调试我的AJAX请求。它允许您检查请求的内容以及从服务器发回的响应。 (当这些情况发生时,它也会在控制台中通知您,这是Chrome似乎缺乏的有用功能)。

在Chrome中,我似乎只能查看请求,而不是响应。当我尝试检查响应时,UI只显示“No Content Available”(开发人员工具>资源> myRequest.php>内容)。我是否必须启用某些功能才能让Chrome开发者工具记住这些请求?

编辑:如果重要,这些请求将在Flash对象中进行。

9 个答案:

答案 0 :(得分:84)

如果您使用的是Google Chrome的开发频道:

http://www.chromium.org/getting-involved/dev-channel

...您应该可以在Developer Tools控制台中右键单击,然后单击“启用XMLHttpRequest日志记录”。

启用后,您将在控制台中看到XHR请求,并且可以单击它们将您带到资源面板,在那里您将能够看到XHR的内容。

答案 1 :(得分:9)

您可能会看到的仅是Google Chrome检查员将CORS请求的OPTIONS请求视为XHR请求。因此,如果您按XHR请求进行过滤,您可能只会看到初始OPTIONS预检请求,其响应没有内容,并且因为Chrome似乎拒绝显示响应而感到困惑。禁用过滤器并转到同一URL的下一个请求,这很可能是与该CORS预检请求相对应的“真实”请求。

答案 2 :(得分:3)

我遇到了同样的问题:来自Flash + JSON响应的POST请求+ Chrome检查器中没有显示响应。但是FF + FireBug没问题。

将charset = utf-8添加到响应标头中的Content-Type为我解决了这个问题:

Content-Type:application / json;字符集= UTF-8

我不确定这是否是此问题的正确解决方案,但至少我现在能够在Chrome Inspector中看到JSON响应。

答案 3 :(得分:2)

如果请求是由插件生成的,则ajax响应的内容尚不可见。 这个问题有可能很快得到解决。

答案 4 :(得分:1)

启用资源跟踪,然后检查资源标签。如果您选中“始终使用资源跟踪”,资源跟踪似乎会更好。

答案 5 :(得分:1)

我的响应为空,因为脚本是通过

发送空数据
die();

答案 6 :(得分:0)

在失败回调中,第一个参数有一个名为responseText的属性。

答案 7 :(得分:0)

原因不仅在于chrome,而且即使是JS代码也可以停止预览。例如,Vue.js有一些名为vue-resorcese的插件,它有这个问题: Chrome, no response data after OPTIONS request? 几个月前我一直住这个问题,直到今天发现这个问题。目前的问题从未给出答案,所以我现在在这里分享。

详细说明: 这个插件有下一个创建XHR对象的代码:

if ('responseType' in xhr && SUPPORTS_BLOB) {
       xhr.responseType = 'blob';
}

此代码没问题且预览工作正常,但直到某些Chrome更新。 今天当我评论此消息时,预览又出现了!首先,请尝试检查您的XHR包装器,可能是这样的。

这是一个罕见的问题,因为它仅使用CORS预检进行复制。 BTW右键单击OPTIONS XHRREPLAY也显示预览。

你有它

答案 8 :(得分:0)

PHP的解决方案:

原因可能是请求的网址( php 页面)有误。但是,由于许多托管已禁用错误输出,因此需要在请求的 .php 文件中启用该错误输出(放在文件顶部的某个位置):

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

在那之后,您将在那里看到响应。