Angular 5常见的httpClient - 即使使用HttpObserve也没有获得实际的http标头:'response'

时间:2018-01-06 22:01:53

标签: angular5 angular-httpclient

在使用Angular 5常见httpClient进行http post调用时,我没有获得实际的http标头。我正在通过观察:'响应'请求获得完整响应(默认情况下,httpClient仅返回响应中的主体)。

我想从http标头响应中读取位置值。我可以看到使用Chrome浏览器网络视图在响应标头中提供位置

但是当我在Angular中读取httpClient响应时,同样不可用。

screenshot - console.log:

enter image description here

import {
    Component,
    OnInit
} from '@angular/core';
import {
    HttpClient,
    HttpHeaders,
    HttpResponse
} from '@angular/common/http';

getData() {
    const headers = new HttpHeaders({
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json'
    });

    const url = 'http://localhost:1003/jaxrs/report/3003/params/';

    this.http.post(url, {}, {
            headers: headers,
            observe: 'response'
        })
        .subscribe(res => {
            console.log(res);
        });
}

屏幕截图 - 网络视图

enter image description here

有人可以帮我这个吗?提前致谢。

1 个答案:

答案 0 :(得分:3)

您必须观察相应的响应:如下例所示:

this.http.post(yourURL, null, { observe: 'response' })
.subscribe(res => {
    console.log(res.headers);
})

希望这能回答你的问题。