Angular 5 распространенных httpClient - не получаются фактические заголовки http в ответ даже с HttpObserve: 'response'

Я не получаю фактические заголовки http при выполнении вызова http post с использованием общего httpClient Angular 5. Я передаю наблюдение: «ответ» в запросе на получение полного ответа (по умолчанию httpClient возвращает только тело ответа).

Я хочу прочитать значение Местоположение из ответа HTTP-заголовка. Я вижу, что Местоположение доступно в заголовках ответов с помощью сетевого просмотра браузера Chrome.

Но то же самое недоступно, когда я читаю ответ httpClient в Angular.

скриншот - console.log:

введите описание изображения здесь

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

снимок экрана - просмотр сети

введите описание изображения здесь

Может кто-нибудь помочь мне с этим? Заранее спасибо.


person Samy    schedule 06.01.2018    source источник
comment
Посмотрите на ссылку ниже, stackoverflow.com/a/42106435/337128, которая может рассказать вам, почему вы не можете получить доступ к нему. Со стороны сервера, я думаю, вам нужно указать местоположение, чтобы получить к нему доступ. w3.org/TR/cors/#access- control-expose-headers-response-header   -  person Thalaivar    schedule 08.01.2018


Ответы (1)


Для этого вы должны увидеть ответ: как в примере ниже:

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

Надеюсь, что это ответ на ваш вопрос.

person Waqar Imtiaz    schedule 10.01.2018
comment
рад это слышать, рад помочь :) - person Waqar Imtiaz; 25.01.2018