10

当请求的响应到达时,有什么方法可以读取响应标头?

4

3 回答 3

11

<iron-request>响应事件处理程序作为第二个参数传递。<iron-request>具有用于发出请求的xhr属性。XMLHttpRequest您应该能够从中获取响应标头。

<iron-ajax on-response="ajaxResponse"></iron-ajax>
...
ajaxResponse: function(e, request) {
  var headers = request.xhr.getAllResponseHeaders();
}
于 2015-06-12T05:20:44.880 回答
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)
  }

希望能帮助到你 :)

于 2015-06-12T05:18:52.600 回答
0

正如Trevor Dixon 的回答中提到的,在响应处理程序中iron-ajax提供iron-request对象,该对象XMLHttpRequest作为xhr属性公开。

可以使用的getResponseHeader方法获取特定的响应头XMLHttpRequest

ironRequest.xhr.getResponseHeader('标头名称');

所有标头都可以使用getAllResponseHeaders方法获取,XMLHttpRequest该方法很少使用,因为我们大多不希望一次读取所有标头。

于 2019-06-28T10:09:42.707 回答