gpt4 book ai didi

angularjs - 防止在浏览器控制台中记录 http 错误

转载 作者:行者123 更新时间:2023-12-03 14:07:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Suppress Chrome 'Failed to load resource' messages in console

(2 个回答)


4年前关闭。




我试图弄清楚如何在我的应用程序中抑制 http 请求和响应错误,例如,当对我的服务器发出错误请求时,我不希望将错误记录到浏览器控制台中。我试过覆盖 $exceptionHandler ,但该逻辑适用于除 HTTP 错误之外的所有异常,这些异常仍会记录到浏览器中。我还创建了 HTTP 拦截器,但全局 400 Bad Request错误出现在我放入 responseError 的逻辑之前:

'responseError': function (rejection) {
console.log(rejection);
return $q.reject();
}

那也不会抑制错误,有什么想法吗?

编辑

我得到的错误是: POST http://localhost:38349/token 400 (Bad Request) enter image description here

最佳答案

实际上 Angular 并没有记录这个。

执行此操作的是 XMLHttpRequest 对象(与 JQuery 相同的问题 here)。我从 Angular 中提取了逻辑并制作了 a working standalone example :

var method = 'POST';
var url404 = '/tnseiartneiasrt/arsntiearsntiasrntiarnstsie';

var xhr = new window.XMLHttpRequest();
xhr.open(method, url404, true);
xhr.onreadystatechange = function() {
if (xhr && xhr.readyState == 4) {
console.log('should have logged an error already :(');
}
};
xhr.send(null);

如您所见,记录它的是 xhr 对象。可能有一种方法可以在触发 xhr 请求之前禁用所有 console.log,但我认为最好要么
  • 重新设计您的错误流程以返回状态代码 200,其中嵌入了正文中的内部错误代码
  • 使用控制台日志记录(普通用户甚至不知道控制台)

  • 我选择了第二个选项,因为我认为它更容易理解,因为当有人阅读您的代码时它不需要额外的逻辑。

    希望这可以帮助 :)

    关于angularjs - 防止在浏览器控制台中记录 http 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22113286/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com