加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 防止在浏览器控制台中登录http错误

发布时间:2020-12-17 07:36:26 所属栏目:安全 来源:网络整理
导读:我试图弄清楚如何在我的应用程序中抑制http请求和响应错误,例如当我的服务器发出不良请求时,我不希望将该错误登录到浏览器控制台.我尝试覆盖$exceptionHandler,但该逻辑适用于除HTTP错误之外的所有异常,这些异常仍然记录到浏览器中.我还创建了HTTP拦截器,但
我试图弄清楚如何在我的应用程序中抑制http请求和响应错误,例如当我的服务器发出不良请求时,我不希望将该错误登录到浏览器控制台.我尝试覆盖$exceptionHandler,但该逻辑适用于除HTTP错误之外的所有异常,这些异常仍然记录到浏览器中.我还创建了HTTP拦截器,但全局400错误请求错误出现在我放在我的responseError中的逻辑之前:
'responseError': function (rejection) {
 console.log(rejection);
 return $q.reject();
}

这也不会抑制错误,任何想法?

编辑

我得到的错误是:
POST http:// localhost:38349 / token 400(错误请求)

实际上Angular没有记录.

它是这样做的XMLHttpRequest对象(与JQuery相同的问题here).我从角度提取了逻辑,并提出了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,并将内部错误代码嵌入到正文中
>使用控制台登录(一般用户甚至不知道控制台)

我选择了第二个选项,因为我认为这更容易理解,因为当某人读取你的代码时,它不需要额外的逻辑.

希望这可以帮助 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读