在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]
Posted
技术标签:
【中文标题】在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]【英文标题】:Hide 401 console.error in chrome dev tools getting 401 on fetch() call [duplicate] 【发布时间】:2017-05-21 19:24:01 【问题描述】:我有一些代码用于进行 fetch 调用。这利用了现代 chrome / firefox 中内置的 window.fetch api。
代码有时会遇到 401:unauthorized 响应。这是正常的,我希望它被忽略,我可以通过代码流来做到这一点。但是,当我尝试运行 Chrome 时,它会显示难看的 console.error 消息。
如何以编程方式防止此控制台错误显示在所有机器的开发控制台中(即,没有 chrome 开发过滤器或 tampermonkey 类型插件)。
这里有一个示例:
fetch("http://httpstat.us/401", requiredStatus: 'ok')
.then(function()
console.log("pass!");
).catch(function()
console.log("fail!");
);
【问题讨论】:
根据***.com/questions/14337351/…,可能无法以编程方式 谢谢,可悲的是我相信是这样的 您可以随时在 fetch 中使用console.clear()
,然后捕获函数,但这会使您在控制台中丢失任何内容。不确定这是否是您想要的。以后的任何控制台语句都可以正常工作。
@gargsms 我喜欢你的聪明才智 :) 但在这种特殊情况下,这听起来像是一个可怕的黑客要求你的代码无法维护。
也许这可以帮助你***.com/a/43061415/4831179
【参考方案1】:
不幸的是,这无法做到,因为控制台中的这种类型的消息是由 chrome 本身打印的。压制这种类型的信息已经争论了多年,但共识似乎是这种信息是可取的 - see this discussion。
以防万一您有兴趣:根据this comment,我们看到此消息的原因是因为对资源检索请求的响应进行了评估,并且消息是在上下文级别发送的。
从本质上讲,chrome 的编写方式不允许我们更改此效果,因此我们会收到错误消息。
【讨论】:
为了好玩,我找到了写此消息的代码行:cs.chromium.org/chromium/src/third_party/WebKit/Source/core/… 我已经给了它@szymek,但你的回答真的很有趣,而且 szymek 也没有对复选标记提出答案:) @joepin 链接已失效。 :(以上是关于在 chrome 开发工具中隐藏 401 console.error 在 fetch() 调用中得到 401 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
POST 请求返回 401 Unauthorized(仅在 Chrome 中)
jquery $.ajax 在 Chrome 或 Firefox 中调用会导致 401 未经授权的响应,但在 IE 中有效
Chrome 为 manifest.json 提供 401 错误