为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
当前回答
正如Gideon所描述的,这是Chrome的一个已知问题,已经开放了5年多,没有明显的兴趣来修复它。
不幸的是,对我来说,是窗户。Onunload = function(){调试器;变通办法也不管用。到目前为止,我发现的最好的解决办法是使用Firefox,它即使在导航之后也会显示响应数据。Firefox的devtools也有很多Chrome所没有的好特性,比如如果响应数据是html,语法会高亮显示,如果响应数据是JSON,则会自动解析。
其他回答
使用firefox,它总是显示响应,并提供与chrome相同的工具。
我认为这只发生在你有“保存日志”检查,你试图查看之前的请求的响应数据后,你已经导航离开。
例如,我查看了加载此堆栈溢出问题的响应。你可以看到。
第二次,我重新加载了这个页面,但没有看header或Response。我导航到另一个网站。现在,当我查看响应时,它显示“加载响应数据失败”。
这是一个众所周知的问题,已经存在了一段时间,并且争论了很多。
如果您正在执行跨域请求,而远程主机没有正确处理CORS报头,也可能发生“未能显示响应数据”的情况。检查js控制台的错误。
一种解决方法是使用具有相同请求url、头和有效负载的Postman。
它肯定会有响应。
对于那些从谷歌来到这里的人,对于那些之前的答案没有解决谜团的人……
如果使用XHR进行服务器调用,但不返回响应,则会发生此错误。
示例(来自Nodejs/React,但同样可以是js/php):
App.tsx
const handleClickEvent = () => {
fetch('/routeInAppjs?someVar=someValue&nutherVar=summat_else', {
method: 'GET',
mode: 'same-origin',
credentials: 'include',
headers: {
'content-type': 'application/json',
dataType: 'json',
},
}).then((response) => {
console.log(response)
});
}
App.js
app.route('/getAllPublicDatasheets').get(async function (req, res) {
const { someVar, nutherVar } = req.query;
console.log('Ending here without a return...')
});
Console.log将在这里报告:
Failed to show response data
为了解决这个问题,将返回响应添加到路由的底部(服务器端):
res.json('Adding this below the console.log in App.js route will solve it.');