如何使用用户输入使用iron-ajax进行REST请求

时间:2017-01-06 14:55:08

标签: javascript json ajax polymer

我正在尝试提供多个下拉选择菜单和网页按钮。单击该按钮时,带有JSON对象的POST请求将被发送到url,并返回带有JSON对象的响应。这个功能是否由iron-ajax支持?

该文档显示params可用于设置JSON对象。逻辑是否如下?

  • 将iron-ajax的params设置为DOM的某个变量
  • 为按下按钮编写buttonClicked()函数,并从下拉列表菜单中更新DOM的变量,并调用iron-ajax的generateRequest()方法

该文件的例子如下所示

<iron-ajax auto url="https://www.googleapis.com/youtube/v3/search" params='{"part":"snippet", "q":"polymer", "key": "YOUTUBE_API_KEY", "type": "video"}' handle-as="json" on-response="handleResponse" debounce-duration="300"></iron-ajax>

鉴于所描述的策略有效,我的问题是

  • 我是否会删除auto以避免自动发送请求?
  • params作业看起来像params= '{{myJsonString}}'
  • 如何调用特定iron-ajax对象的generateRequest()(假设页面中有多个iron-ajax标签)?

1 个答案:

答案 0 :(得分:2)

  

我是否会删除自动以避免自动发送请求?

  

params赋值看起来像params =   &#39; {{myJsonString}}&#39;

删除单引号: 的 { param1 : 'param1 value', param2 : 'param2 value' } myJsonObject是一个普通的javascript对象,如:

<iron-ajax id="myAjax1"
    auto
    url="https://www.googleapis.com/youtube/v3/search"
    params='{"part":"snippet", "q":"polymer", "key": "YOUTUBE_API_KEY", "type": "video"}'
    handle-as="json"
    on-response="handleResponse"
    debounce-duration="300"></iron-ajax>

请注意,如果要绑定到params属性,则必须使用javascript对象而不是其字符串。

  

如何调用特定iron-ajax对象的generateRequest()   (假设页面中有多个iron-ajax标签)?

你可以为你的iron-ajax标签分配一个id:

this.$.myAjax1

从你的javascript代码中获取它:

{{1}}