這是關於在angular2
據我所知處理服務器響應沿服務器錯誤響應,
1.服務器響應碼200,201等會使成功響應
2.而服務器響應400,401,500等將做出錯誤響應
3.如果響應成功,那麼它將轉到map函數,從那裏我們可以返回數據或修改它。 4.如果響應是錯誤的,那麼它會去捕捉函數,從那裏我們可以返回observable或拋出observable。處理與使用HTTP觀察到在角2數據
我的問題是如果服務器返回錯誤響應代碼以及錯誤數據,那麼如何捕獲該數據。
即假如我是從服務器發送以下數據
成功響應
狀態:200
消息: 「成功的loggedIn」
錯誤響應
狀態:400
消息: 「用戶名和密碼錯誤」
這裏我是一個BLE獲取或處理成功的數據,但不是錯誤的數據,因爲在捕捉功能,唯一的錯誤對象獲得通過,並且錯誤對象只包含來自服務器的響應代碼,而不是響應數據
return this.http.get('/login')
.map((res: Response) => res.json().data)
.catch((error: any) => {
return Observable.throw(new Error("error occured"+error.status));
})
遺憾的是沒有「這樣的事情」 - 'errorRes.json()' - 錯誤響應 –