は角4.3を使用してナビゲートしていない角4.3 - HTTP 401状況 - 。。Router.Navigate([「/ログインは」]
私は401エラーとrouter.Navigateに関連した非常に奇妙な問題で立ち往生しています私はステータスが401の場合はログインページに移動するこの状態ではrouter.navigateは機能しない、ステータスが401の場合のみ動作しない[コンソールでエラーなし]ステータスが404の場合。次いでthis.router.navigate(ルートが見つかりませんする成分】ここで正常に動作私のコードである -
protected get(url: string, options?: RequestOptionsArgs): Observable<Response> {
return this.http.get(url, options)
.catch((response) => {
if (response.status === 401) {
console.log('401 error - navigating');
this.router.navigate(['/login']);
return Observable.of(response);
}
return Observable.throw(response);
});
};
エラーコードが404の場合、router.Navigateは問題なく動作します。以下のコードを参照してください[このコードではrouter.navigateはうまく動作し、ページに移動しません] -
protected get(url: string, options?: RequestOptionsArgs): Observable<Response> {
return this.http.get(url, options)
.catch((response) => {
if (response.status === 404) {
console.log('404 error - navigating');
this.router.navigate(['/notfoundpage']);
return Observable.of(response);
}
return Observable.throw(response);
});
};
であなたがのResponse.Statusをチェックします。あなたはそれが401であると確信していますか? –
はい、コンソールにはそれぞれのログメッセージが表示されます。「401 error .....」です。コンソールメッセージが表示されます。つまり、Statusは401 – user2216584