Javascript 如何从铁形态聚合物中获得响应头

Javascript 如何从铁形态聚合物中获得响应头,javascript,polymer,polymer-2.x,Javascript,Polymer,Polymer 2.x,我有一份表格,我是这样提交的: form.addEventListener("iron-form-response", function(event) { //How can I access response headers here? }); form.submit(); 我知道如何访问响应体: event.detail.response 但我想要的是服务器响应头。我需要它,因为此响应可能在标头中包含一些令牌,我必须

我有一份表格,我是这样提交的:

form.addEventListener("iron-form-response", function(event) {   
    //How can I access response headers here?                      
});      

form.submit();
我知道如何访问响应体:

event.detail.response

但我想要的是服务器响应头。我需要它,因为此响应可能在标头中包含一些令牌,我必须将其存储在Cookie中。

事件.detail实际上是一个,它通过
e.detail.xhr
公开底层,允许您对特定标头使用:

_onResponse(e) {
  const header = e.detail.xhr.getResponseHeader('X-Special-Header');
  ...
}
例如:

<dom-module id="x-foo">
  <template>
    <iron-form on-iron-form-response="_onResponse">
      <form method="post"
            action="//httpbin.org/post">
        <label for="myName">My name</label>
        <input type="text" id="myName" name="name">
        <button>Submit</button>
      </form>
    </iron-form>
  </template>

  <script>
  class XFoo extends Polymer.Element {
    static get is() { return 'x-foo'; }

    _onResponse(e) {
      console.debug('response header("Content-Type")', e.detail.xhr.getResponseHeader('Content-Type'));
      console.debug('all response headers', e.detail.xhr.getAllResponseHeaders())
    }
  }
  customElements.define(XFoo.is, XFoo);
  </script>
</dom-module>

我的名字
提交
类XFoo扩展了Polymer.Element{
静态get是(){return'x-foo';}
_答复(e){
调试('response header(“Content-Type”)',e.detail.xhr.getResponseHeader('Content-Type');
调试('all response headers',e.detail.xhr.getAllResponseHeaders())
}
}
customElements.define(XFoo.is,XFoo);

@Jacobian,没问题:)