当请求的响应到达时,有什么方法可以读取响应标头吗?
响应事件处理程序作为第二个参数传递<iron-request>
。 <iron-request>
有一个xhr
属性,该属性是用于发出请求的XMLHttpRequest
。您应该能够从中获取响应标头。
<iron-ajax on-response="ajaxResponse"></iron-ajax>
...
ajaxResponse: function(e, request) {
var headers = request.xhr.getAllResponseHeaders();
}
如果在 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)
}
希望对:)有所帮助
正如Trevor Dixon的回答中提到的,iron-ajax
在响应处理程序中提供了iron-request
对象,该对象将XMLHttpRequest
公开为xhr
属性。
可以使用 XMLHttpRequest
的 getResponseHeader 方法获取特定的响应标头。
ironRequest.xhr.getResponseHeader('header name');
所有标头都可以使用 getAllResponseHeaders 方法获取XMLHttpRequest
该方法很少使用,因为我们大多不想一次读取所有标头。