从 header Angular 获取变量 2

Getting variable from header Angular 2

我想从 header 获取 'Total' 数据,但当 Postman 显示更多时,似乎只有 4 个变量。响应 body 很好,我只是无法在组件中正确访问 header。我怎样才能做到这一点? 如果有任何信息缺失,我会尽快编辑post。 服务功能:

     public getAdverts(searchParams){
let url = 'https://znajdzspeca.herokuapp.com/search/jobs'
let headers = new Headers();
headers.append('Content-Type', 'application/json');

if(searchParams.localization instanceof Array)
 searchParams.localization = searchParams.localization[0]

let body = JSON.stringify(searchParams)

return this.http.post(url, body, {headers: headers})
.map(response =>  response)
}

使用该服务的组件函数:

private getAdverts(searchAdvert){
this.advertService.getAdverts(this.searchAdvert)
  .subscribe(

    response => {
      var totalPages = (response.headers.get('Total'));
      console.log(totalPages);
      console.log(response);
      this.results = response.json()


    },
    error => console.log(error))
    }
    }

控制台 & postman 日志 http://i64.tinypic.com/206ouao.jpg

问题是您映射了您的响应。 Headers 可以从响应本身到达。所以你需要删除地图运算符。

 /*.map(response =>  response)*/ <----
       .subscribe((res) => {
         var yourData = res.json();
         var headers = res.headers;
       });

在访问响应 header 时小心使用 CORS。请记住,自定义 headers 将在同一域中可见。但是,对于跨域情况,服务器必须发送 Access-Control-Expose-Headers: X-Foo, ... header 以使自定义 headers 可见。