![](/img/trans.png)
[英]HttpInterceptor pipe error in Angular 10 in catchError() function
[英]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.