为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
当前回答
Bug仍然活跃。 这发生在JS成为新页面(200)或重定向(301/302)的启动器时 一种可能的方法来修复它-它禁用JavaScript请求。 例如,在puppeteer中,你可以在拦截请求(page.on('request'))时使用:page.setJavaScriptEnabled(false)
其他回答
只要响应的主体没有在你的代码中被消耗(例如使用.json()或.text()),它就不会显示在Chrome开发工具的预览选项卡中
对于那些在请求JSON数据时得到错误的人:
如果您正在请求JSON数据,JSON可能太大,这是导致错误发生的原因。
我的解决方案是复制请求链接到新选项卡(从浏览器获得请求) 将数据在线复制到JSON查看器,在那里您可以自动解析并对其进行处理。
正如Gideon所描述的,这是Chrome的一个已知问题,已经开放了5年多,没有明显的兴趣来修复它。
不幸的是,对我来说,是窗户。Onunload = function(){调试器;变通办法也不管用。到目前为止,我发现的最好的解决办法是使用Firefox,它即使在导航之后也会显示响应数据。Firefox的devtools也有很多Chrome所没有的好特性,比如如果响应数据是html,语法会高亮显示,如果响应数据是JSON,则会自动解析。
对于在请求大型JSON数据时收到此错误的人,正如Blauhirn所提到的,如果您使用身份验证头等,则不能在新选项卡中打开请求。
幸运的是chrome确实有其他选项,如复制->复制为卷曲。 从commandoline通过cURL运行这个调用将是原始调用的精确复制。
我添加了> ~/result。Json到最后一部分,将结果保存到一个文件中。 否则它将被输出到控制台。
对于那些从谷歌来到这里的人,对于那些之前的答案没有解决谜团的人……
如果使用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.');