HttpClient没有返回所有响应头

时间:2018-09-11 03:32:56

标签: angular angular4-httpclient

我同意这是一个重复的问题,但是我已经尝试了其他帖子中给出的答案,但该方法不起作用,所以我将我的代码发布给我

我遇到一种情况,我正在使用自定义标头进行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。 让我知道是否需要任何细节。

0 个答案:

没有答案