为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
为什么我的Chrome开发工具显示
未能显示响应数据
在响应时,返回的内容类型是文本/html?
在开发人员工具中查看返回的响应的替代方法是什么?
当前回答
使用firefox,它总是显示响应,并提供与chrome相同的工具。
其他回答
使用firefox,它总是显示响应,并提供与chrome相同的工具。
我认为这只发生在你有“保存日志”检查,你试图查看之前的请求的响应数据后,你已经导航离开。
例如,我查看了加载此堆栈溢出问题的响应。你可以看到。
第二次,我重新加载了这个页面,但没有看header或Response。我导航到另一个网站。现在,当我查看响应时,它显示“加载响应数据失败”。
这是一个众所周知的问题,已经存在了一段时间,并且争论了很多。
Bug仍然活跃。 这发生在JS成为新页面(200)或重定向(301/302)的启动器时 一种可能的方法来修复它-它禁用JavaScript请求。 例如,在puppeteer中,你可以在拦截请求(page.on('request'))时使用:page.setJavaScriptEnabled(false)
如果使用fetch进行AJAX请求,除非使用.text()、.json()等读取,否则不会显示响应。
如果你这样做:
r = fetch("/some-path");
开发工具中不会显示响应。 它会在你运行后显示:
r.then(r => r.text())
对于那些从谷歌来到这里的人,对于那些之前的答案没有解决谜团的人……
如果使用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.');