我有一個向服務器發送 POST 請求的服務:
addPerson(person:PersonDTO) :Observable<any> {
return this.httpClient.post<any>(this.urlBase 'Persons', person);
}
我訂閱了組件中的服務:
this.valueService.addPerson(person).subscribe((data) => {
this.responseCode = data.statusText;
console.log(this.responseCode)
});
我想在控制臺上列印回應代碼。問題是當出現錯誤時,代碼在進入console.log. 如果沒有錯誤undefined顯示在控制臺上
uj5u.com熱心網友回復:
歡迎到這里!
默認情況下,回應僅限于來自 API 的回應正文。要獲取狀態等其他資訊,您需要observe在請求中添加一個選項:
addPerson(person:PersonDTO) :Observable<any> {
return this.httpClient.post<any>(this.urlBase 'Persons', person, {observe: 'response'});
}
像您這樣的基本訂閱意味著您只處理next用例。要處理錯誤,您需要另一個錯誤回呼:
this.valueService.addPerson(person).subscribe(
(data) => {
this.responseCode = data.statusText;
console.log(this.responseCode)
},
(error) => console.error(error)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/398055.html
上一篇:重繪頁面時保存服務資料
