在Angular 4中没有得到一些标题值

时间:2017-05-20 17:46:29

标签: angular cors angular2-http

我正在查询后端,例如跟随角度4

    this.classzService.query({
      page: this.page,
      size: this.itemsPerPage,
      sort: this.sort(),
      url: url
    }).subscribe(
      (res: Response) => this.onQuerySuccess(res.json(), res.headers),
      (res: Response) => this.onError(res.json())
      );

    private onQuerySuccess(data, headers: Headers) {
       this.links = this.parseLinks.parse(headers.get('Link'));
       this.totalItems = headers.get('X-Total-Count');        
    }

问题是headers.get('Link')headers.get('X-Total-Count')给出了空值。

当我检查我的Chrome浏览器时,我看到那些值存在。可能是什么问题。 enter image description here

1 个答案:

答案 0 :(得分:1)

这通常发生在CORS的情况下,当起源不同时。在服务器上启用CORS时,默认情况下它只显示一些默认标头。在您的情况下,因为您有两个自定义标头LinkX-Total-Count。因此,在您的服务器上,您需要使用Access-Control-Expose-Headers显式公开这些标头。如果您使用的是ASP.NET WebApi,则可以将其添加到WebApiConfig类:

config.EnableCors(new EnableCorsAttribute("*", "*", "GET, POST, OPTIONS, PUT, DELETE", "Link, X-Total-Count"));

您可以查看此概念herehere