首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >403错误未被catchError函数Angular 7捕获

403错误未被catchError函数Angular 7捕获
EN

Stack Overflow用户
提问于 2020-06-10 07:38:00
回答 1查看 267关注 0票数 4

我写了下面的代码,当我在浏览器中运行代码时,登录api给出了403响应码。但我无法捕获该错误并通过控制台将其记录下来。有没有人能告诉我我的代码出了什么问题?

代码语言:javascript
复制
 this.http

    .post("login", {

      username,
      password
    }).pipe(
      catchError(err => {
        console.log('Handling error locally and rethrowing it...', err);
        return throwError(err);
      })
    )
    .subscribe(
      (response: any) => {
       }
       error=> {

        console.log(error);

       }
    )
EN

回答 1

Stack Overflow用户

发布于 2020-06-10 09:08:50

尝试如下所示:

代码语言:javascript
复制
let params = {
          "login_id" : id,
          "password" : pass
        };

    this.http.post(loginUrl, params, {observe:'response'}).subscribe((data:any) => {
        console.log('http login -> ', data);
      }, (err : HttpErrorResponse) => {
        console.log('http login error -> ', err);
      });
    }

或者也可以试试这个:

代码语言:javascript
复制
this.http.post("login", {
      username,
      password
    })
    .pipe(catchError(this.errorMgmt))
    .subscribe(
      (response: any) => {
        console.log('res',response)
       }
    )

  errorMgmt(error: HttpErrorResponse) {
    let errorMessage = '';
    if (error.error instanceof ErrorEvent) {
      // Get client-side error
      errorMessage = error.error.message;
      console.log('err',errorMessage);
    } else {
      // Get server-side error
      errorMessage = `Error Code: ${error.status}\nMessage: ${JSON.stringify(error.error)}`;
      console.log('err',errorMessage);
    }
    console.log('errorMgmt -> ',(errorMessage));
    return throwError(errorMessage);
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62293602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档