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

未能显示响应数据

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

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


当前回答

我认为这只发生在你有“保存日志”检查,你试图查看之前的请求的响应数据后,你已经导航离开。

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

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

这是一个众所周知的问题,已经存在了一段时间,并且争论了很多。

其他回答

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

如果你这样做:

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

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

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

使用firefox,它总是显示响应,并提供与chrome相同的工具。

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

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

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

正如吉迪恩所描述的,这是一个已知的问题。 用于使用窗口。Onunload = function(){调试器;}。 但是您可以在Source选项卡中添加断点,然后就可以解决您的问题。 是这样的:

对我来说,当返回的JSON文件太大时就会出现问题。

如果你只是想看响应,你可以在Postman的帮助下得到它。请看下面的步骤:

复制所有信息的请求(包括URL,头,令牌等)从chrome调试器通过chrome开发工具->网络选项卡->找到请求->右键单击它->复制->复制为cURL。 打开邮差,导入->Rawtext,粘贴内容。Postman将重新创建相同的请求。然后运行请求,您应该会看到JSON响应。 [在postmain中导入cURL][1]: https://i.stack.imgur.com/dL9Qo.png

如果想要减小API响应的大小,也许可以在响应中返回更少的字段。对于mongoose,您可以通过在调用find()方法时提供字段名称列表轻松实现这一点。 例如,将方法从:

const users = await User.find().lean();

To:

const users = await User.find({}, '_id username email role timecreated').lean();

在我的例子中,有一个名为description的字段,它是一个大字符串。从字段列表中删除它后,响应大小从6.6 MB减少到404 KB。