When a response for a request arrives, is there any way to read the response headers?
The response event handlers gets passed the <iron-request>
as the second argument. <iron-request>
has an xhr
property that is the XMLHttpRequest
used to make the request. You should be able to get the response headers from that.
<iron-ajax on-response="ajaxResponse"></iron-ajax>
...
ajaxResponse: function(e, request) {
var headers = request.xhr.getAllResponseHeaders();
}
If an HTTP request is made over AJAX in javascript, it is possible to get the response headers with the getAllResponseHeaders() method. It's part of the XMLHttpRequest API.
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
alert(headers);
EDIT:
I just noticed the iron-ajax part of question.
<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)
}
Hope it helps :)
As mentioned in Trevor Dixon's answer, iron-ajax
provides iron-request
object in response handler which exposes XMLHttpRequest
as xhr
property.
A specific response header can be obtained using getResponseHeader method of XMLHttpRequest
.
ironRequest.xhr.getResponseHeader('header name');
All headers can be obtained using getAllResponseHeaders method of XMLHttpRequest
which is rarely used since we mostly don't want to read all headers at once.
© 2022 - 2024 — McMap. All rights reserved.