【发布时间】:2018-12-17 12:52:32
【问题描述】:
我专业地使用过 Polymer 1 和 2,但直到今天我还没有尝试过 Polymer 3.0。我正在尝试测试响应,但我无法让它工作。
这是我的 Iron-ajax 组件:
<iron-ajax id="requestData" url="/src/witches-brew-app/requests.json" handle-as="json"
last-response="{{requests}}"
on-response="_requestResponse"
on-error="_requestError">
</iron-ajax>
我有一个调用 Iron-jax 的 generateRequest 函数的按钮,你可以看到一个在收到响应时调用的函数。
_requestResponse(e){
console.info(e);
console.info(this.requests);
}
_getRequests(){
console.info("_getRequests")
this.$.requestData.generateRequest().then(function (e) {
console.info("_getRequests PROMISE")
console.info(this.requests);
}.bind(this));
}
承诺似乎永远不会回来,但网络标签显示了我在谷歌浏览器中的所有数据!
_requestResponse 函数确实会被触发,但它也会将 requests 属性打印为 null。
知道是什么原因造成的吗?我这辈子都想不通。我也用自动标志尝试过,我得到了完全相同的问题。
【问题讨论】:
-
老实说,停止使用 iron-ajax 会很快解决这个问题。更好地使用所有浏览器原生提供的 fetch API,它是 ajax 的继承者。 developer.mozilla.org/en-US/docs/Web/API/Fetch_API
标签: javascript polymer polymer-3.x