如何从 iron-form Polymer 获得响应 headers
How to get response headers from iron-form Polymer
我有一个表格,我是这样提交的:
form.addEventListener("iron-form-response", function(event) {
//How can I access response headers here?
});
form.submit();
我知道我可以访问响应的方式 body:
event.detail.response
但我想要的是服务器响应headers。我需要它,因为此响应可能包含 headers 一些标记,我必须将其存储在 cookie 中。
event.detail
实际上是一个 <iron-request>
, which exposes the underlying XMLHTTPRequest
via e.detail.xhr
, which allows you to use getResponseHeader(name)
对于特定的 header:
_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>
我有一个表格,我是这样提交的:
form.addEventListener("iron-form-response", function(event) {
//How can I access response headers here?
});
form.submit();
我知道我可以访问响应的方式 body:
event.detail.response
但我想要的是服务器响应headers。我需要它,因为此响应可能包含 headers 一些标记,我必须将其存储在 cookie 中。
event.detail
实际上是一个 <iron-request>
, which exposes the underlying XMLHTTPRequest
via e.detail.xhr
, which allows you to use getResponseHeader(name)
对于特定的 header:
_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>