[英]Polymer 3.0 iron-ajax returning null response
我已經很專業地使用了Polymer 1和2,但是直到今天我還沒有嘗試過Polymer 3.0。 我正在嘗試測試響應,但無法正常工作。
這是我的鐵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));
}
這個承諾似乎永遠不會實現,但是“網絡”標簽會在Chrome瀏覽器中顯示我的所有數據!
_requestResponse函數的確會被觸發,但是也會將requests屬性打印為null。
知道是什么原因造成的嗎? 我無法弄清楚我的一生。 我也嘗試過使用auto標志,並且得到完全相同的問題。
您很可能已經在requests
屬性中收到了數據。 但是在上面的代碼中,由於檢索數據的時間安排,您收到的數據為空。 因此,如果您觀察到如下所示的屬性,則可能會看到iron-ajax
收到的數據:
這里是鐵ajax DEMO的工作示例
static get properties() { return {
requests: {
type: Object,
observer:'_requestResponse' }
}
_requestResponse(e){
if (e) {
console.info(e);
console.info(this.requests);
}
}
on-response="_requestResponse"
編輯:
static get observers() { return ['_requestResponse(requests)'] }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.