我正在尝试使用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; }
答案 0 :(得分:1)
您需要先将正文转换为JSON字符串。 JSON.stringify可以提供帮助。
...
createNewCourse: function(e) {
this.$.postCourse.body = JSON.stringify(this.item);
this.$.postCourse.go();
}
您可能需要在此处删除body属性。您也可以删除该auto属性,因为默认情况下它是false。