我只是想知道我是否可以从core-ajax聚合物元素中提取响应头?
下面是我正在测试的代码片段,我可以看到'detail'对象但是'xhr'对象里面没有响应头的详细信息,只有status和responseText / body等.console.log语句只是我试图找出响应头的位置。
<body>
<template id="main" is="auto-binding">
<paper-input-decorator label="Email" floatinglabel="true" isInvalid="{{invalid}}" error="Not an email">
<input is="core-input" value="{{email}}"></input>
</paper-input-decorator>
<core-ajax id="ajax"
auto="true"
url="http://www.mocky.io/v2/548a185d479e7f5618c59c1b"
method="POST"
handleAs="json"
response="{{response}}"
body='{"email":"{{email}}"}'
contentType="application/x-www-form-urlencoded"
on-core-complete="{{responseHandler}}">
</core-ajax>
</template>
<script>
var main = document.querySelector("#main");
main.email = "raja@naresh"
main.responseHandler = function(event, detail, sender) {
console.log(event);
console.log(detail.xhr);
console.log(sender);
console.log(main.response);
}
</script>
</body>
我可以从core-ajax元素中提取响应头,如果不是我如何在没有jQuery的情况下执行此操作?任何帮助是极大的赞赏?感谢。
答案 0 :(得分:1)
它可行。
看看以下内容:
<link rel="import" href="../bower_components/polymer/polymer.html" />
<link rel="import" href="../bower_components/core-ajax/core-ajax.html" />
<polymer-element name="x-ajax">
<template>
<core-ajax auto url="http://gdata.youtube.com/feeds/api/videos/?alt=json&q=chrome"
response="{{resp}}"
on-core-response="{{handler}}"></core-ajax>
<textarea value="{{resp}}"></textarea>
</template>
<script>
Polymer({
handler: function (event, detail, sender) {
var header = detail.xhr.getResponseHeader('content-type');
}
});
</script>
</polymer-element>
首先使用on-core-response
第二 - 使用XmlHttpRequest中的getResponseHeader
方法获取所需的标题