HttpClientModuleを使用してAngular 5でWebサービスコールを作成していて、すべての200ステータスの応答に対応しています。しかし、400のステータスがあれば、待機して待機し、最終的に503ステータスになります。Webサービスコールから返されないAngular 5 Httpエラー
たとえば、この関数を正しいユーザー名/パスワードで呼び出すと、この関数は正常に動作し、ステータスは200に戻り、ユーザーオブジェクトが返されます。しかし、私は間違ったユーザー名/パスワードを渡す場合、私は400エラーを取得しないで、私は約1分後に503エラーを取得します。
サーバー側のログには、Webサービスが要求に応じて400のステータスを返していますが、何も戻ってこないことがわかります。ここで
は自分のWebサービスの呼び出しコードである:ここで
login(username: string, password: string): Observable<boolean> {
const url = this.getUrl('/v1/users/login');
const headers = {
headers: new HttpHeaders({'Content-Type': 'application/json', 'transactionId': uuid.v4()})
};
const body = { username, password };
return new Observable<boolean>(observer => {
this.http.post<User>(url, body, headers).subscribe(
(user: User) => {
console.log('login: Success: ', user);
observer.next(true);
},
(err: HttpErrorResponse) => {
console.log('login: Error: ', err);
observer.next(false);
}
);
});
}
はChrome Networkログです:
ネットワークパネルには何が表示されますか?最終的には、リクエストがブラウザに届いてから応答が返るまで、ブラウザとサーバーの間にあります。 – shaunhusain
Chromeネットワークログの投稿画像 – MLefebvre
エラーレスポンスを処理するのに正しいコードですか? – MLefebvre