为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
当前回答
我有同样的问题,没有一个答案是有效的,最后我发现我犯了一个巨大的错误,选择了其他你可以看到
现在这似乎是一个愚蠢的错误,但事情是即使在删除和重新安装chrome浏览器后,问题仍然存在(设置在删除chrome浏览器时默认不卸载),所以我花了一段时间,直到我发现这一点,并再次选择所有…! 发生这种情况是因为我的后端不处理选项方法,因为我错误地点击了其他,这导致我花了几天的时间尝试答案!
其他回答
对于那些从谷歌来到这里的人,对于那些之前的答案没有解决谜团的人……
如果使用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.');
对于那些在请求JSON数据时得到错误的人:
如果您正在请求JSON数据,JSON可能太大,这是导致错误发生的原因。
我的解决方案是复制请求链接到新选项卡(从浏览器获得请求) 将数据在线复制到JSON查看器,在那里您可以自动解析并对其进行处理。
对于在请求大型JSON数据时收到此错误的人,正如Blauhirn所提到的,如果您使用身份验证头等,则不能在新选项卡中打开请求。
幸运的是chrome确实有其他选项,如复制->复制为卷曲。 从commandoline通过cURL运行这个调用将是原始调用的精确复制。
我添加了> ~/result。Json到最后一部分,将结果保存到一个文件中。 否则它将被输出到控制台。
如果使用fetch进行AJAX请求,除非使用.text()、.json()等读取,否则不会显示响应。
如果你这样做:
r = fetch("/some-path");
开发工具中不会显示响应。 它会在你运行后显示:
r.then(r => r.text())
如果您正在执行跨域请求,而远程主机没有正确处理CORS报头,也可能发生“未能显示响应数据”的情况。检查js控制台的错误。