当请求的响应到来时,有没有办法读取响应头?
答案 0 :(得分:11)
响应事件处理程序作为第二个参数传递<iron-request>
。 <iron-request>
的{{3}}是用于发出请求的XMLHttpRequest
。您应该可以从中获取响应标头。
<iron-ajax on-response="ajaxResponse"></iron-ajax>
...
ajaxResponse: function(e, request) {
var headers = request.xhr.getAllResponseHeaders();
}
答案 1 :(得分:6)
如果在javascript中通过AJAX发出HTTP请求,则可以使用getAllResponseHeaders()方法获取响应头。它是XMLHttpRequest API的一部分。
var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
alert(headers);
修改强>
我刚刚注意到了铁问题的一部分。
<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)
}
希望有所帮助:)
答案 2 :(得分:0)
如Trevor Dixon's answer中所述,iron-ajax
在响应处理程序中提供iron-request
对象,该对象将XMLHttpRequest
作为xhr
属性公开。
可以使用XMLHttpRequest
的{{3}}方法获得特定的响应头。
ironRequest.xhr.getResponseHeader('标题名称');
可以使用XMLHttpRequest
的{{3}}方法获得所有标头,该方法很少使用,因为我们通常不希望一次读取所有标头。