Когда приходит ответ на запрос, есть ли способ прочитать заголовки ответов?
С iron-ajax, как читать заголовки ответа?
Ответ 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
который используется редко, так как в большинстве случаев мы не хотим читать все заголовки одновременно.