Angular 无法访问错误响应的标题

Angular 无法访问错误响应的标题,angular,Angular,在Angular 6中,我无法获取http错误响应的标题。例如,服务器返回状态代码401,但在此错误响应中还包含额外的头。正确的做法是什么 log(url:string){ let res = this.http.get<any>(url, httpOptions) as Observable<HttpResponse<any>>; res.subscribe( (data: any) => {console.log(d

在Angular 6中,我无法获取http错误响应的标题。例如,服务器返回状态代码401,但在此错误响应中还包含额外的头。正确的做法是什么

log(url:string){
    let res = this.http.get<any>(url,  httpOptions) as Observable<HttpResponse<any>>;
    res.subscribe(
        (data: any) => {console.log(data.headers.get('WWW-Authenticate'))}, // success path
        error =>{console.log(error.headers.get('WWW-Authenticate'))} // error path
     );
}

private getHttpOptions():any {

    const headers = {};
    headers['Content-Type'] = 'application/json';
    headers['Authorization'] = "Bearer " + "123";

    const httpOptions = {headers: new HttpHeaders(headers), 
                         observe: "response"
                         };
    return httpOptions;
}
log(url:string){
让res=this.http.get(url,httpOptions)作为可观察对象;
res.subscribe(
(data:any)=>{console.log(data.headers.get('WWW-Authenticate'))},//成功路径
error=>{console.log(error.headers.get('WWW-Authenticate'))}//错误路径
);
}
私有getHttpOptions():任意{
常量头={};
标题['Content-Type']='application/json';
头文件['Authorization']=“载体”+“123”;
const httpOptions={headers:新的HttpHeaders(headers),
注意:“回应”
};
返回httpOptions;
}

我找到了答案。由于安全原因,浏览器不允许读取自定义标题。XmlHttpRequest显式地将此声明为错误,但似乎倾向于消除此问题,并简单地为请求的头键返回null。服务器需要发送
访问控制公开标题
标题,以便浏览器允许代码访问这些标题。可以在此处找到详细解释:

您能分享您期望的头和您得到的头吗?@HaseebAhmed我正在尝试获取“WWW-Authenticate”头,但枚举收到的头密钥也会导致空数组。