Подтвердить что ты не робот

С iron-ajax, как читать заголовки ответа?

Когда приходит ответ на запрос, есть ли способ прочитать заголовки ответов?

4b9b3361

Ответ 1

Обработчики событий ответа передают <iron-request> в качестве второго аргумента. <iron-request> имеет свойство xhr, которое является XMLHttpRequest, используемым для выполнения запроса. Вы должны иметь возможность получить заголовки ответов.

<iron-ajax on-response="ajaxResponse"></iron-ajax>
...
ajaxResponse: function(e, request) {
  var headers = request.xhr.getAllResponseHeaders();
}

Ответ 2

Если HTTP-запрос выполняется над AJAX в javascript, можно получить заголовки ответов с помощью метода getAllResponseHeaders(). Это часть XMLHttpRequest API.

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
alert(headers);

EDIT:

Я только заметил часть вопроса о железе-аяксе.

<iron-ajax
    url="http://gdata.youtube.com/feeds/api/videos/"
    params='{"alt":"json", "q":"chrome"}'
    handle-as="json"
    on-response="handleResponse"
    debounce-duration="300">
</iron-ajax>
    ...
handleResponse: function(e, request) {
    var headers = request.xhr.getAllResponseHeaders();
    alert(headers)
  }

Надеюсь, это поможет:)

Ответ 3

Как упоминалось в ответе Тревора Диксона, iron-ajax предоставляет объект iron-request в обработчике ответов, который представляет XMLHttpRequest качестве свойства xhr.

Конкретный заголовок ответа можно получить с помощью метода getResponseHeader из XMLHttpRequest.

ironRequest.xhr.getResponseHeader('имя заголовка');

Все заголовки могут быть получены с помощью метода getAllResponseHeaders из XMLHttpRequest который используется редко, так как в большинстве случаев мы не хотим читать все заголовки одновременно.