Json express额外对象中接收的聚合铁ajax体

Json express额外对象中接收的聚合铁ajax体,json,express,polymer-1.0,Json,Express,Polymer 1.0,我正在尝试将一个JSON对象从我的polymer应用程序发送到我的ExpressAPI 我在客户机上执行以下操作: <iron-ajax id="createRoomAjax" url="{{url}}{{roomRoute}}" handle-as="json" method="POST" on-response="onRoomCreated" debounce-duration="300"> </iron-ajax>

我正在尝试将一个JSON对象从我的polymer应用程序发送到我的ExpressAPI

我在客户机上执行以下操作:

<iron-ajax
    id="createRoomAjax"
    url="{{url}}{{roomRoute}}"
    handle-as="json"
    method="POST"
    on-response="onRoomCreated"
    debounce-duration="300">
</iron-ajax>

createRoom: function() {
  this.$.createRoomAjax.body = {
    'name': roomname.value
  };
  this.$.createRoomAjax.generateRequest();
  // console.log(this.$.createRoomAjax);
},
这给了我以下输出:

{ “{”名称“:“jljk”}”:”


我希望在我的express应用程序中,我会收到一个主体为{name:'…}的req,而不是一个围绕它的额外对象。有人能给我解释一下为什么会发生这种情况吗?

您可以尝试使用
params
而不是
body
这样:

  this.$.createRoomAjax.params = {
    'name': roomname.value
}

这对我使用聚合物和Express很有效

您可以尝试使用
params
而不是
body
如下:

  this.$.createRoomAjax.params = {
    'name': roomname.value
}

这对我使用聚合物和Express很有效

我刚刚找到了解决问题的办法。似乎我需要将iron ajax请求的contentType设置为json,否则它会以不同的方式发送正文负载

新HTML:

  <iron-ajax
        id="createRoomAjax"
        url="{{url}}{{roomRoute}}"
        method="POST"
        content-type="application/json"
        on-response="onRoomCreated"
        debounce-duration="300">
    </iron-ajax>

我刚刚找到了解决问题的方法。似乎我需要将iron ajax请求的contentType设置为json,否则它会以不同的方式发送正文负载

新HTML:

  <iron-ajax
        id="createRoomAjax"
        url="{{url}}{{roomRoute}}"
        method="POST"
        content-type="application/json"
        on-response="onRoomCreated"
        debounce-duration="300">
    </iron-ajax>


谢谢你的回答,但我想把它放在身体里!谢谢你的回答,但我想把它放在身体里!