簡體   English   中英

403 錯誤未被 catchError function Angular 7 捕獲

[英]403 error not caught by catchError function Angular 7

我寫了下面的代碼,當我在瀏覽器中運行代碼時,登錄 api 給出了 403 響應代碼。 但我無法捕捉到該錯誤並控制台記錄它。 誰能告訴我我的代碼有什么問題。

 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);

       }
    )

試試下面這樣的事情:

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);
      });
    }

或者也試試這個:

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);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM