使用iron-ajax作为application / x-www-form-urlencoded发布json对象

时间:2015-12-21 18:13:01

标签: javascript json spring-mvc polymer

在我的基于Polymer的应用程序中,我想使用奇特的JavaScript模型绑定到输入元素。

模型的POST到我的Spring控制器但是我想作为经典的formdata执行,这样我就可以利用Spring SessionAttributes了。

我设置iron-ajax就像这样:

<iron-ajax id="saveMailing"
    method="POST"
    url="/api/mailing"
    content-type="application/x-www-form-urlencoded"
    on-response="mailingSaved">
</iron-ajax>

我有一个JavaScript方法,按下按钮执行请求:

saveDraft: function() {
    this.$.saveMailing.body = this.mailing;
    this.$.saveMailing.generateRequest();
}

this.mailing是一个JSON对象。它不是 FormData()。

结果是我收到了一个JavaScript错误&#34;无法读取属性toString of null&#34;,在iron-request.html:421

有可能做我想做的事吗?我的意思是传递iron-ajax一个JSON-Object并期望它将它转换为FormData。或者我没有正确使用iron-ajax

1 个答案:

答案 0 :(得分:2)

假设你肯定this.mailing不是null,你需要先将其字符串化:

this.$.saveMailing.body = JSON.stringify(this.mailing);