47

传统上我使用FireBug来调试我的AJAX请求。它可以让您检查请求的内容以及从服务器发回的响应。 (它也会在控制台中通知您这些事情发生时,这是Chrome似乎缺少的一项有用功能)。查看Chrome开发者工具中的AJAX响应内容?

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

编辑:万一它很重要,这些请求正在一个Flash对象内进行。

+1

我有同样的问题。我没有扩展。我有“记录XMLHttpRequests”打勾,并尝试了所有我能找到的建议。我必须使用firefox + firebug或charles proxy来完成我所有使用ajax进行的调试。 Chrome浏览器似乎没有任何支持查看Ajax响应的痛苦。 – 2013-06-20 08:29:05

+0

仅供参考,请求也是从闪存中进行的,并且响应是应用程序/ json – 2013-06-20 08:34:56

回答

4

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

+8

这不是真的了。见Masterov对这个问题的回答。 – 2012-06-21 00:47:16

+0

另外考虑[Fiddler 2](http://fiddler2.com/) - 这是一个快速安装,它是免费的,并且它很容易使用。没有其他应用程序可以为您提供有关线路,任何浏览器,任何插件甚至应用程序的* everything *的更全面和详细的视图。它已经救了我不止一次:-) – 2013-05-30 18:29:50

+1

我没有插件,我总是得到“这个请求没有响应数据”为我的所有ajax调用。我必须改用firefox +萤火虫。奇妙的是,Chrome浏览器不支持查看Ajax响应。 – 2013-06-20 08:30:51

1

打开资源跟踪,然后检查资源选项卡。如果您选中“始终使用资源跟踪”,资源跟踪似乎效果会更好。

+0

资源跟踪肯定是开启的。我可以看到正在发出的请求,以及这些请求的标题,而不是内容。 (注意:这只适用于AJAX请求,并且可能只适用于Flash中制作的)。 – Ender 2010-07-08 02:37:30

+0

这很奇怪。我不使用闪光灯,也许这就是问题......如果你还没有使用闪光灯,可以尝试更新的铬/铬版本。 – 2010-07-08 02:43:39

83

如果你是谷歌浏览器开发版:

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

...你应该能够在开发者工具控制台单击鼠标右键,然后单击“启用日志记录的XMLHttpRequest”。

启用后,您将在控制台中看到XHR请求,并可以点击它们将您带到资源面板,您将在其中看到XHR的内容。

+11

+1 - 现在应该是公认的答案。这个问题很古老。 – Mike 2011-09-06 18:01:34

+9

这没有为我工作。我已启用XMLHTTPRequest日志记录,但在开发工具网络XHR Response选项卡中,它始终显示“此请求没有可用的响应数据”。在chrome中看不到任何ajax响应(至少对我来说)。我必须使用显示它的萤火虫。 – 2013-06-12 12:12:09

+2

是的,我只看到我的AJAX函数名称。没有数据 – BenRacicot 2014-03-26 15:35:01

0

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

3

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

添加字符集= UTF-8到内容类型的响应报头解决了这个问题对我来说:

内容类型:应用/ JSON; charset = utf-8

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

+0

这也解决了我的问题 - 丢失的字符集阻止了数据的显示。 – nwinkler 2013-10-01 14:18:03

+0

相关提示希望chrome能够解决这个问题,因为有(与操作系统升级有关的其他不相关的工具链)问题与我能够改变被更改的内容类型有关,而这种简单的问题正在导致如此大的转移,这很愚蠢。 – Michael 2013-12-08 21:10:12

+0

不幸的是,我已经在使用'Content-Type:application/json;字符集= UTF-8' – user3479125 2017-02-26 14:13:51

1

我只好空响应,因为脚本是由

die(); 
4

发送空的数据是什么,你可能会看到不仅是CORS请求的OPTIONS请求被视为由谷歌Chrome浏览器检查的XHR请求。因此,如果您通过XHR请求进行筛选,您可能只会看到最初的OPTIONS预检请求,其响应中没有内容,并且感到困惑,因为Chrome似乎拒绝显示响应。禁用该过滤器并转到相同URL的下一个请求,这很可能是与该CORS预检请求对应的“真实”请求。

0

原因不仅可以在Chrome中,而且预览甚至可以通过JS代码停止。例如,有一些Vue.js插件叫vue-resorcese,它有这个问题: Chrome, no response data after OPTIONS request? 我住这个问题几个月,直到今天发现这个问题。目前的问题从来没有给出答案,所以我现在在这里分享。

详情: 这个插件已经创建XHR对象下面的代码:

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

此代码是确定和预览的工作,但直到某个铬更新。 今天,当我评论这一点,预览再次出现!所以首先,试着检查一下你的XHR包装器,可能是这样的。

这是罕见的问题,因为它只是与CORS预检一起复制。顺便说一句,右击OPTIONS XHRREPLAY也显示预览。

那里你有它