HttpClient.get('/',{observe:'response'});不返回所有标题

时间:2019-04-06 02:48:52

标签: angular typescript rest

我正在使用HttpClient.get()编写API GET请求。我传入了用于观察响应的选项,并且当我访问.keys()时,除了Content-Type之外没有其他标题。

Access-Control-Allow-Origin标头设置为通配符(*),但我仍然只能以角度访问Content-Type标头。我想念什么?

标题已正确发送到“网络”选项卡中的浏览器。我还尝试在Access-Control-Allow-Origin中明确允许该自定义标头。

Angular应用程序:

this.data.getClubs(1, 10, '', {clubName: 'asc'}, '').subscribe(
      dataJson => {
        console.log(dataJson.headers.keys());
}
getClubs(page: number, count: number, group: any, sorting: any, filter: any) {
    return this.http.get(this.apiUrl + `/club`, {
      params: {
        count: String(count),
        filter: String(filter),
        group: String(group),
        page: String(page),
        sorting: JSON.stringify(sorting)
      },
      headers: this.getHttpOptions().headers,
      observe: 'response'
    });
}

请查看图像。标头设置为允许访问标头。 https://i.imgur.com/8nS5SbH.png https://i.imgur.com/A1E4Mhh.png

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

这是因为您需要将标题名称添加到后端的evaluateJavaScript:参数上。

例如,如果要公开名为“ my-custom-header”的标头,则在后端,需要将此标头添加到access-control-expose-headers参数中,如

access-control-expose-headers

希望这会起作用