này được liên quan đến phản ứng máy chủ xử lý trong angular2
Như tôi hiểu,
1. máy chủ đáp ứng mã 200, 201 vv sẽ làm cho phản ứng thành công
2. trong khi phản hồi của máy chủ 400, 401, 500 v.v. sẽ trả lời lỗi
3. nếu phản hồi thành công, nó sẽ goto ánh xạ chức năng, từ đó chúng ta có thể trả về dữ liệu hoặc sửa đổi nó. 4. nếu đáp ứng là lỗi, sau đó nó sẽ đi đến chức năng bắt, từ đó chúng tôi sẽ có thể trở lại quan sát hoặc ném quan sát được.xử lý phản ứng lỗi máy chủ cùng với dữ liệu trong góc 2 sử dụng HTTP thể quan sát được
Câu hỏi của tôi là nếu máy chủ trả về mã phản hồi lỗi cùng với dữ liệu lỗi, thì làm cách nào để nắm bắt dữ liệu đó.
tức là giả sử tôi đang gửi dưới đây dữ liệu từ máy chủ
phản ứng thành công
status: 200
msg: "LOGGEDIN thành công"
phản ứng lỗi
status: 400
msg: "userid và mật khẩu sai"
Đây tôi là ble để có được hoặc xử lý dữ liệu thành công nhưng không phải là dữ liệu lỗi, bởi vì trong chức năng bắt, chỉ có đối tượng lỗi là nhận được thông qua và rằng đối tượng lỗi chỉ chứa mã phản hồi từ máy chủ, không phải là dữ liệu đáp ứng
return this.http.get('/login')
.map((res: Response) => res.json().data)
.catch((error: any) => {
return Observable.throw(new Error("error occured"+error.status));
})
tiếc là không có "một cái gì đó như thế này" - 'errorRes.json()' - cho phản ứng lỗi –