即使返回的内容带有标题Content-Type:text / html,Chrome开发工具也无法显示响应。字符集= UTF-8


142

当返回的内容为text / html类型时,为什么我的chrome开发人员工具会在响应中显示“无法显示响应数据”?

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


我发现Microsoft Edge Dev(基于Chromium)没有给我这个错误。
的名称

您是否尝试在Firefox中签入?
Rajendra kumar Vankadari

Answers:


200

我认为只有在您选中“保留日志”并且在导航后试图查看上一个请求的响应数据时,才会发生这种情况。

例如,我查看了响应“加载此堆栈溢出”的问题。你可以看到。

响应数据

第二次,我重新加载了此页面,但没有查看标题或响应。我导航到另一个网站。现在,当我查看响应时,它显示“无法加载响应数据”。

无回应资料

这是一个已知问题,已经存在了一段时间,并且引起了很多争论。但是,有一种解决方法,onunload您可以在上暂停,以便可以在导航离开之前查看响应,从而在导航离开时不会丢失数据。

window.onunload = function() { debugger; }

185
无法看到响应数据几乎完全杀死了“保留日志”!
Amalgovinus

1
您的window.onunload解决方法效果很好,谢谢!
Shane N

25
不,在Chrome 61中,如果选中“保留日志” 并且没有离开页面,则肯定也可能发生。
或Mapper

响应数据可能很大,并且会无限期地检查保留日志,这会严重阻碍DevTool的性能。导航时丢弃响应数据可能是设计使然。如果您有任何建议,请对上面链接的主题发表评论。
基迪恩·皮泽

2
chrome 73.0仍然遇到此问题,onunload由于某些原因,该修复程序对我不起作用。
Onza

46

对于那些在请求JSON数据时出错的人:

如果您正在请求JSON数据,则JSON可能太大,这会导致错误发生。

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


14
虽然不是一个真正的解决方案。我使用身份验证之类的方法。违反了开发工具的目的。有人可能应该在某个地方创建一些错误报告。正确的答案虽然在这里
phil294 '18

1
此限制可以通过任何方式配置吗?
威廉·亨格维尔德

就我而言,它发生在23MB,这是一个愚蠢的大型JSON响应...。我打开了一个问题,使错误消息更具描述性。
boatcoder '18 -10-9

我看到了6MB JSON的问题:(
Lee Gunn,

同样在未压缩的6mb JSON响应上达到此目标。
miki noidea

39

正如Gideon所述,这是Chrome的已知问题,已经开放了5年以上,对修复它没有明显的兴趣。

不幸的是,就我而言,window.onunload = function() { debugger; }解决方法也不起作用。到目前为止,我发现最好的解决方法是使用Firefox,即使在导航后也可以显示响应数据。Firefox devtools还具有许多Chrome缺少的出色功能,例如语法突出显示响应数据(如果是html)和自动分析(如果是JSON)。


4
哇,好东西 需要调试仅发生在Chrome而非Firefox的错误。所以对我来说也别无选择。认真地说,为什么每个人都说Chrome Web工具比Firefox更好?似乎他们多年来没有尝试使用Firefox。
mozzbozz

11
Chrome也没有Firefox方便的“编辑并重新发送”请求选项。
锑'18

1
是的...还使用FF来完成任务...正常工作。我们生活在危险的时代!
nmirceac

@Antimony chrome在很长一段时间内都具有“重新发送”选项,但是在最后一个版本中,它们甚至删除了...幸运的是,您可以fetch(...copied link...)在控制台中快速完成操作,并在“网络”选项卡中观察响应
IvanHušnjak

甚至现在仍然得到这个。为了大声喊叫,我希望他们修复他们已经拥有的东西,而不是在控制台中引入诸如急切评估之类的毫无意义的功能,而忽略其基本开发人员工具的质量。
thephpdev

20

正如Gideon所述,这是一个已知问题。
供使用window.onunload = function() { debugger; }
但是您可以在“源”选项卡中添加一个断点,然后可以解决您的问题。像这样: 在此处输入图片说明


相比“源”选项卡有window.onunload = function() { debugger; }什么优势?
Mihail Malostanidis

1
您不需要为调试器编写代码,就可以在更高的环境中进行调试,在更高的环境中,您可能会在页面之间跳转并且不保留相同的窗口
Parijat Kalia

window.onunload = function() { debugger; }不适用于我,确实可以。谢谢!
aexl

11

如果您正在执行跨域请求,并且远程主机未正确处理CORS标头,则也会发生“未能显示响应数据”。检查您的js控制台是否有错误。


2
chrome仍然因未显示响应而破裂(无论以任何形式)-FF对我
有用

你是对的!但这正是为什么我需要响应以了解我的请求失败的原因。一切顺利,但chrome仍然失败,并显示“对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头”
AHA

4

如果你与一个AJAX请求fetch,没有显示响应,除非它与阅读.text().json()等等。

如果您只是这样做:

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

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

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

1

正如曾经在Blauhirn提到的那样,在请求大JSON数据时收到此错误的人,如果您使用的是身份验证标头之类,则不是仅在新选项卡中打开请求的解决方案。

因此,chrome确实具有其他选项,例如“复制”->“复制为卷曲”。从命令行通过cURL运行此调用将与原始调用完全相同。

> ~/result.json在突击队的最后部分添加了将结果保存到文件的功能。否则它将被输出到控制台。


1
如果提供响应的服务器状态已更改,则精确的副本无用。因此,对于我来说,必须等待40分钟左右才能发生某个事件,并且该事件会触发一个新页面,这完全破坏了整个使用过程。它应该是可以切换的选项。UInfortunatly有共同游人在之前的评论中列出,除非你是他们团队的一部分的问题上没有投票或评论的选项:/
大卫·马藤松
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.