javascript - 如何处理响应对象中的错误

标签 javascript angular rest api error-handling

在应用程序中,使用错误的用户名或密码登录时,会向我发送一个错误对象作为响应。

POST https://abcdserver.zxcv.com/abcdserver/connect/token 400 (Bad Request)
Error performing password flow 
HttpErrorResponse {headers: HttpHeaders, status: 400, statusText: "Bad Request", url: "https://abcdserver.zxcv.com/abcdserver/connect/token", ok: false, …}

如何处理这些错误。这是我的代码

login.component.ts
jwtHelper: JwtHelper = new JwtHelper();
  this.authService.loginOrg(this.userCredential.email, this.userCredential.password).then((resp) => {
    let token = resp['access_token'];
    if (token === null) {
      this.invalidLogin = true;
    }
    let decodedToken = this.jwtHelper.decodeToken(token);
    this.UserId = decodedToken.userid;
  }, (reason) => {
    this.invalidLogin = true;
  });

authservice.component.ts
import { OAuthService } from 'angular-oauth2-oidc';    
public loginOrg(userName: string, password: string) {
        return this.oAuthService.fetchTokenUsingPasswordFlow(userName, password);
    }

最佳答案

有2个选项:
1)实现ErrorHandler(https://angular.io/api/core/ErrorHandler)以处理应用程序中生成的所有错误,或者
2)像这样处理您的http调用中的每个错误:
this.getMEthod()。subscribe(resp => {您的逻辑此处},错误=> {您的逻辑此处})

关于javascript - 如何处理响应对象中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56480457/

相关文章:

javascript - 在 JavaScript 中循环遍历一组元素的最佳方法是什么?

javascript - Ruby on Rails 与 Parse + Backbone.js

javascript - jquery设置php生成的文本选项列表

javascript - 如何将一个函数值传递给另一个 in - angular 2 服务

javascript - Angular 2 原生 View 封装

iOS 最成熟的 REST 服务库

ios - 在 iOS 中从 Microsoft Health Cloud API 获取用户健康数据

javascript - 显示多个事件源的事件取决于 Fullcalendar 中复选框的选择

angular - 我可以将对象及其方法存储在@ngrx 中吗

rest - 使用 REST API 将图像上传到 Twitter