20
角度で200以外のHTTPステータスコードと私のやり方を対処する方法をHTTP(this answerから借用)の要求はこれです:今2
POST(url, data) {
var headers = new Headers(), authtoken = localStorage.getItem('authtoken');
headers.append("Content-Type", 'application/json');
if (authtoken) {
headers.append("Authorization", 'Token ' + authtoken)
}
headers.append("Accept", 'application/json');
var requestoptions = new RequestOptions({
method: RequestMethod.Post,
url: this.apiURL + url,
headers: headers,
body: JSON.stringify(data)
})
return this.http.request(new Request(requestoptions))
.map((res: Response) => {
if (res) {
return { status: res.status, json: res.json() }
}
});
}
これは事実そのangular2意志を除いて、正常に動作します
キャッチされない例外:[オブジェクトのオブジェクト]
返されたステータスコードは、例えば200よりも何か他のものは、ユーザーが何かを掲示したいと、サーバーが400を返す場合、角2は、例外がスローされます、ある場合には失敗
どうすればこの問題を回避できますか?私のアプリでこれらのステータスコードを処理して、ユーザーエクスペリエンスを向上させる(エラーの表示など)
それは条件として、すべてのステータスコードを記述する必要がないようにすることは可能ですか?状態を返すだけで、私のコンポーネントはそれらの状態コードで何をすべきかを判断することができます。 –
はい、エラーブロックをどのようにハンドリングするかによって、状況をチェックせずにエラーを返すことができます。 –
それを編集できますか?あなたの既存の例でそれをしようとするのは苦労します。 –