【问题标题】:Getting variable from header Angular 2从标头Angular 2获取变量
【发布时间】:2017-05-22 11:04:54
【问题描述】:

我想从标题中获取“总”数据,但是当 Postman 显示更多时,那里似乎只有 4 个变量。响应正文很好,我只是无法在组件中正确访问标题。我怎样才能做到这一点? 如果缺少任何信息,我会尽快编辑帖子。 服务功能:

     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))
    }
    }

控制台和邮递员日志 http://i64.tinypic.com/206ouao.jpg

【问题讨论】:

    标签: angular variables header httprequest angular2-services


    【解决方案1】:

    问题在于您映射了您的响应。可以从响应本身访问标头。因此,您需要删除地图运算符。

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

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

    【讨论】:

    • 超级!您能否将答案标记为有用?谢谢。
    • 我现在已经尽力了,还没有足够的声望。
    • 非常感谢!我很感激。
    猜你喜欢
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 2017-07-07
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2017-03-21
    相关资源
    最近更新 更多