首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合iron-ajax :如何将输入元素中的数据绑定到iron-ajax的body属性

聚合iron-ajax :如何将输入元素中的数据绑定到iron-ajax的body属性
EN

Stack Overflow用户
提问于 2015-05-18 12:41:37
回答 2查看 7.2K关注 0票数 7

我最近遇到了一些问题,从input元素绑定数据到iron-ajax的"body“属性。当我在聚合物0.5上使用core-ajax时,我可以很容易地绑定如下值:

代码语言:javascript
复制
<core-ajax
           id="ajax"
           method="POST" 
           contentType="application/json"
           url="{{url}}"   
           body='{"username":"{{username}}", "password":"{{password}}"}'
           handleAs="json"
           on-core-response="{{responseHandler}}">
</core-ajax>

现在我尝试了用iron-ajax做同样的事情。但它发送的是字面上的"{{username}}“和"{{password}}”而不是它们的值。代码如下:

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

如何让它工作?感谢您的回答:)

EN

回答 2

Stack Overflow用户

发布于 2015-05-19 18:05:27

您可以为ajax主体声明一个计算属性。就像这样

代码语言:javascript
复制
properties: {
    ...
    ajaxBody: {
        type: String,
        computed: 'processBody(username, password)'
    }
},
processBody: function(username, password) {
    return JSON.stringify({username: username, password:password});
}

然后将其添加到iron-ajax上

代码语言:javascript
复制
<iron-ajax ... body="{{ajaxBody}}"></iron-ajax>
票数 5
EN

Stack Overflow用户

发布于 2015-06-29 05:17:01

另一种选择是使用Computed Bindings

您的代码将如下所示:

代码语言:javascript
复制
<iron-ajax
       ...
       body="{{getAjaxBody(username, password}}}"
       >
</iron-ajax>
<script>
Polymer({
  .....
  getAjaxBody: function(username, password) {
    return JSON.stringify({username: username, password: password});
  }
})
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30295236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档