我正在试图弄清楚如何在我的应用程序中抑制http请求和响应错误,例如当我的服务器发出错误请求时,我不希望将错误记录到浏览器控制台中.我已经尝试覆盖了$exceptionHandler,但该逻辑适用于除HTTP错误之外的所有异常,这些异常仍然记录在浏览器中.我也创建了HTTP拦截器,但全局400 Bad Request错误出现在我放入我的逻辑之前responseError:
'responseError': function (rejection) {
console.log(rejection);
return $q.reject();
}
Run Code Online (Sandbox Code Playgroud)
这也不能抑制错误,任何想法?
编辑
我得到的错误是这样的:
POST http://localhost:38349/token 400 (Bad Request)

Dan*_*Dan 15
实际上Angular不会记录这个.
这是执行该操作的XMLHttpRequest对象(此处与JQuery 相同).我从Angular中提取了逻辑并制作了一个独立的工作示例:
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);
Run Code Online (Sandbox Code Playgroud)
如您所见,它是记录它的xhr对象.可能有一种方法可以在触发xhr请求之前禁用所有console.log,但我认为这两者都更好
我选择了第二个选项,因为我觉得它更容易理解,因为当有人读取你的代码时它不需要额外的逻辑.
希望这可以帮助 :)
| 归档时间: |
|
| 查看次数: |
14958 次 |
| 最近记录: |