当前位置: 首页 > 面试题库 >

防止在浏览器控制台中记录HTTP错误

段干英杰
2023-03-14
问题内容

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

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

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

EDIT


问题答案:

实际上,Angular不会记录此内容。

那就是(同样的问题做了XMLHttpRequest对象
这里用jQuery)。我
从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服务。我注入到服务控制台的方法是在为说明这个问题,或 这与AngularJS 1.0.7完美配合。但是,升级到1.1.5之后,对于使用service的服务将不再起作用,不会发送xhr。 我已经测试过直接注射,它也不起作用。AngularJS changelog似乎没有关于此问题的记录。我可以知道这是什么问题吗?

  • 我有一个REST API,当没有找到记录时返回404。 我使用 Rx 和 j 查询来调用 API。我可以捕获404响应,但是错误不断出现在浏览器的控制台中,就好像找不到资源URL一样,而实际上只是因为没有找到记录。 我如何处理这种(没有找到记录)404响应,使它们不出现在控制台中? 还是“没有找到记录”实际上应该用空的尸体返回200 OK?

  • 我在SpringBoot api上工作,并使用具有以下属性设置的H2数据库。 当我想使用浏览器通过'http://localhost:8082/h2-console'查看H2数据库控制台时,浏览器中打开了一个带有连接和测试连接按钮的屏幕。当我单击Test Connection时,它返回成功,但当单击Connect按钮时,出现错误,即localhost拒绝连接。

  • 我可以在下面/上面的代码帮助下启动Chrome浏览器的空窗口,但他们是一些错误,我得到了

  • 我有一个spring boot应用程序(spring 5.0.7.Release,spring boot version 2.0.3)。 当我尝试从我的angular 4应用程序登录时,我得到一个错误500 2018-07-13 12:11:59.243调试64187--[nio-9000-exec-2]F.p.a.customBasicAuthenticationFilter:身份验证成功:or

  • 沙拉酱:Sms.last Salammobile::Sms加载(106.1毫秒)选择< code>sms。*从< code>sms订购到< code>sms。< code>oppid DESC限制1 active record::subclass not found:单表继承机制无法定位子类:“international”。引发此错误是因为列“type”是为在继承的情况下存储类而保留的。如果不想将