簡體   English   中英

polymer iron-ajax:如何將數據從輸入元素綁定到iron-ajax的body屬性

[英]polymer iron-ajax : How to Bind data from input element to iron-ajax's body attribute

我最近遇到了將輸入元素的數據綁定到iron-ajax的“body”屬性的問題。 當我在聚合物0.5上使用core-ajax時,我可以很容易地綁定這樣的值:

<core-ajax
           id="ajax"
           method="POST" 
           contentType="application/json"
           url="{{url}}"   
           body='{"username":"{{username}}", "password":"{{password}}"}'
           handleAs="json"
           on-core-response="{{responseHandler}}">
</core-ajax>

現在我嘗試用鐵-ajax做同樣的事情。 但它會逐字地發送“{{username}}”和“{{password}}”而不是其值。 這是代碼:

<iron-ajax
           id="ajax"
           method="POST" 
           contentType="application/json"
           url="{{url}}"   
           body='{"username":"{{username}}", "password":"{{password}}"}'
           handle-as="json"
           on-response="responseHandler">
</iron-ajax>

如何使它工作? 謝謝您的回答 :)

您可以聲明ajax主體的計算屬性。 像這樣

properties: {
    ...
    ajaxBody: {
        type: String,
        computed: 'processBody(username, password)'
    }
},
processBody: function(username, password) {
    return JSON.stringify({username: username, password:password});
}

然后將它添加到鐵-ajax上

<iron-ajax ... body="{{ajaxBody}}"></iron-ajax>

另一種選擇是使用Computed Bindings

您的代碼看起來像這樣:

<iron-ajax
       ...
       body="{{getAjaxBody(username, password}}}"
       >
</iron-ajax>
<script>
Polymer({
  .....
  getAjaxBody: function(username, password) {
    return JSON.stringify({username: username, password: password});
  }
})
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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