簡體   English   中英

聚合物3.0鐵ajax返回空響應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM