javascript – 聚合物iron-ajax:如何将数据从input元素绑定到iron-ajax的body属性

前端之家收集整理的这篇文章主要介绍了javascript – 聚合物iron-ajax:如何将数据从input元素绑定到iron-ajax的body属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近遇到了将输入元素的数据绑定到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>

猜你在找的Ajax相关文章