为什么我的Chrome开发工具显示

未能显示响应数据

在响应时,返回的内容类型是文本/html?

在开发人员工具中查看返回的响应的替代方法是什么?


当前回答

正如Gideon所描述的,这是Chrome的一个已知问题,已经开放了5年多,没有明显的兴趣来修复它。

不幸的是,对我来说,是窗户。Onunload = function(){调试器;变通办法也不管用。到目前为止,我发现的最好的解决办法是使用Firefox,它即使在导航之后也会显示响应数据。Firefox的devtools也有很多Chrome所没有的好特性,比如如果响应数据是html,语法会高亮显示,如果响应数据是JSON,则会自动解析。

其他回答

对于那些在请求JSON数据时得到错误的人:

如果您正在请求JSON数据,JSON可能太大,这是导致错误发生的原因。

我的解决方案是复制请求链接到新选项卡(从浏览器获得请求) 将数据在线复制到JSON查看器,在那里您可以自动解析并对其进行处理。

Bug仍然活跃。 这发生在JS成为新页面(200)或重定向(301/302)的启动器时 一种可能的方法来修复它-它禁用JavaScript请求。 例如,在puppeteer中,你可以在拦截请求(page.on('request'))时使用:page.setJavaScriptEnabled(false)

对于在请求大型JSON数据时收到此错误的人,正如Blauhirn所提到的,如果您使用身份验证头等,则不能在新选项卡中打开请求。

幸运的是chrome确实有其他选项,如复制->复制为卷曲。 从commandoline通过cURL运行这个调用将是原始调用的精确复制。

我添加了> ~/result。Json到最后一部分,将结果保存到一个文件中。 否则它将被输出到控制台。

另一种可能是服务器不处理OPTIONS请求。

如果使用fetch进行AJAX请求,除非使用.text()、.json()等读取,否则不会显示响应。

如果你这样做:

 r = fetch("/some-path");

开发工具中不会显示响应。 它会在你运行后显示:

r.then(r => r.text())