我尝试了以下代码,但是headers属性未定义。如果http响应状态不是2xx,还有另一种访问http标头的方法吗?
this._httpClient.get(url)
.subscribe(
(res: any) => {
//sth
},
error => {
this._logger.error(..., error.headers.get('Some-important-header'));
}
);
答案 0 :(得分:0)
尝试类似的方法
this._httpClient.get(url).pipe(tap(event => {
if(event instanceof HttpResponse){
console.log(event.headers);
}
}), catchError(this.handleError));
处理错误
private handleError(error: HttpErrorResponse) {
if (error instanceof HttpErrorResponse) {
console.log(error.headers);
}
};
在收到回复时只需阅读一下-希望对您有所帮助-编码愉快:)
答案 1 :(得分:0)
响应主体不会返回您可能需要的所有数据。有时,服务器会返回特殊的标头或状态代码,以指示对于应用程序工作流程很重要的某些条件。
通过观察选项告诉HttpClient您想要完整的响应:
$carbon: 'Carbon/Carbon'
希望这对您有帮助!