避免在Angular 2上记录错误
我正在做的是登录一个用户,如果凭据无效,我会从服务器端抛出一个异常。我的代码如下:避免在Angular 2上记录错误,angular,angular2-services,Angular,Angular2 Services,我正在做的是登录一个用户,如果凭据无效,我会从服务器端抛出一个异常。我的代码如下: this.http.post("/login", JSON.stringify(credentials)) .map(result => result.json()) .subscribe( data =>this.router.navigate(["home"]), () => this.router.navigate(["login"], {queryParams:
this.http.post("/login", JSON.stringify(credentials))
.map(result => result.json())
.subscribe(
data =>this.router.navigate(["home"]),
() => this.router.navigate(["login"], {queryParams: {error: true}})
);
在这种情况下,如果用户没有抛出错误,我将对其进行身份验证,并在抛出错误时更改路由。问题是,即使我捕捉到错误,chrome控制台仍然显示出抛出错误的样子
有没有办法避免这种情况?我不想让用户看到这一点。对我来说,这不是一个错误,因为我正在使用它做一些事情,我希望能够使用从服务器端获得的消息。如何捕获它?在服务器端,我将响应状态设置为400,将消息设置为我想要显示的消息(示例中没有显示)。我用subscribe的第二个参数捕捉到它,当响应状态不是200时触发。这是Chrome的标准行为,带有XHR,而不是角度或可观察的。你不能禁用Itada,所以你知道是否还有其他方法可以这样做?这可能是另一种方式,而不是询问ifs是否成功。不,你对此无能为力。如果服务器返回错误状态代码,chrome甚至会在代码执行之前记录它。如何捕获它?在服务器端,我将响应状态设置为400,将消息设置为我想要显示的消息(示例中没有显示)。我用subscribe的第二个参数捕捉到它,当响应状态不是200时触发。这是Chrome的标准行为,带有XHR,而不是角度或可观察的。你不能禁用Itada,所以你知道是否还有其他方法可以这样做?这可能是另一种方式,而不是询问ifs是否成功。不,你对此无能为力。如果服务器返回错误状态代码,chrome甚至会在代码执行之前将其记录下来