Polymer REST后端

时间:2014-07-24 13:21:48

标签: rest polymer

我有一个用golang exposing / api / list接口编写的后端。它从GET调用时返回列表,并在接收带参数的POST时创建新列表。 我可以用标准的core-ajax元素来阅读它,有大量的例子可以做到这一点。

当我想通过POST创建新元素时,我不应该理解的是我应该怎么做?我阅读了文档并搜索了半天的示例代码,你能指出我正确的方向吗? // 好的,谢谢你的帮助,这真的只是我发送的json的糟糕格式。在我的脑海里仍然有一片乌云,告诉我从概念角度误解了一些东西。是这样的:

<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/core-ajax/core-ajax.html">

<polymer-element name="channels-service" attributes="channels">
  <template>
    <style>
    :host {
      display: none;
    }
    </style>
    <core-ajax id="ch_load"
      auto
      url="/api/list"
      on-core-response="{{channelsLoaded}}"
      handleAs="json">
    </core-ajax>
    <core-ajax id="ch_update"
      url="/api/list"
      on-core-response="{{channelsUpdated}}"
      method="POST"
      handleAs="json">
    </core-ajax>
  </template>
  <script>
  Polymer('channels-service', {
    created: function() {
      this.channels = [];
    },
    channelsLoaded: function() {
      // Make a copy of the loaded data
      this.channels = this.$.ch_load.response.slice(0);
    },
    newChannel: function(ch_name) {
     // this.$.ch_update.body = "ch_name";
     this.$.ch_update.body = '{"Name":"pitchalist2"}'
      this.$.ch_update.go();
    },
    channelsUpdated: function() {
      //window.log(this.$.ch_update.response.slice(0));
    }
  });
  </script>
</polymer-element>

正确写入数据层?它看起来非常违反直觉,在使用本地数据存储的示例中,它更容易工作。

1 个答案:

答案 0 :(得分:2)

您可以通过设置方法属性(method="POST")和正文属性(body='{"my":"data"}')来发送POST请求。实际上,您需要第二个 iron-ajax 元素来满足此要求。

请参阅iron-ajax documentation

中的属性部分