从 http 服务获取状态文本 - Angular 8
Get the Status Text from a http Service - Angular 8
我有一个向服务器发送 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
欢迎来到这里!
默认情况下,响应仅限于您 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)
);
我有一个向服务器发送 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
欢迎来到这里!
默认情况下,响应仅限于您 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)
);