PolymerJS POST JSON格式

时间:2015-05-22 19:04:52

标签: javascript json polymer

我正在尝试使用PolymerJS ajax-forms进行POST,我遇到了一个奇怪的JSON格式错误。有人能告诉我为什么键周围缺少引号?我能想到的唯一解决方法是使用键周围的引号手动构建主体。

代码段: 我如何收到这些值(其余部分与更改的ID相同):

<div>
        <paper-input label="Title" id="course-title" floatingLabel value="{{item.title}}"></paper-input>
    </div>

 <access-core-ajax
              auto = "false"
              url="domain/courses"
              response="{{response}}"
              method="post"
              id="postCourse"
              contentType="application/json"
              headers='{"Accept": "application/json", "Content-Type":"application/json"}',
              body = "{{item}}">

            <template id="get-response-template" repeat="{{item in response.entries}}">
                    <p>Errors</p>
            </template>
        </access-core-ajax>

Polymer('create-new-course-page',{
        domReady: function() {
            console.log("Log: create-new-courses-page - Looks like we are domReady");
        },
        created: function() {
            console.log("Item initialized");
            this.item = {};
            this.data={};
        },
        createNewCourse: function(event) {
            console.log("HERE IS BODY", this.item);
            this.$.postCourse.go();


       }

日志中可以看到JSON:

  

{   标题:&#34; WRU&#34;,   //其余的关键&amp;值,其中键没有&#34;&#34;   }

1 个答案:

答案 0 :(得分:1)

您需要先将正文转换为JSON字符串。 JSON.stringify可以提供帮助。

...
createNewCourse: function(e) {
    this.$.postCourse.body = JSON.stringify(this.item);
    this.$.postCourse.go();
}

您可能需要在此处删除body属性。您也可以删除该auto属性,因为默认情况下它是false。