我同意这是一个重复的问题,但是我已经尝试了其他帖子中给出的答案,但该方法不起作用,所以我将我的代码发布给我
我遇到一种情况,我正在使用自定义标头进行GET调用,并且响应中还包含一个自定义标头。使用HttpClient获得的响应仅包含4个标头,但不包含从我的服务器发送的自定义标头。我可以在chome的dev工具的“网络”标签中看到自定义标头。下面是我正在使用的代码
doGetFullResponse(path: string, headerExtra: any) {
let headers = new HttpHeaders();
let authData = localStorage.getItem("user");
if(authData) {
headers = headers.append('Authorization', "BEARER "+authData);
if(headerExtra) {
for(let key in headerExtra)
headers[key] = headerExtra[key];
}
//httpClient is HttpClient from '@angular/common/http'
return this.httpClient.get(path, {headers: headers, observe: "response"});
}
else {
this.router.navigateByUrl("/");
}
}
我将此函数称为
this.httpservice.doGetFullResponse().subscribe((res)=>{
//this.pointAudits = res.json();
res.headers.keys().map((key)=>console.log(key+":"+res.headers.get(key)));
})
下面是输出:
pragma:no-cache内容类型:application / json; charset = UTF-8 缓存控制:无缓存,无存储,最大年龄= 0,必须重新验证过期:0
从服务器“ MAX_ITEM_COUNT
”发送的自定义标头未显示在此处。有什么我想念的吗?我正在使用角度4。
让我知道是否需要任何细节。