2016-04-09 1 views
0

私のポリマー・アプリケーションから私のエクスプレスAPIにJSONオブジェクトを送信しようとしています。ポリアーク・アヤックス・ボディーをエクスプレス・エクストラ・オブジェクトで受け取りました

私は、クライアント上で次の操作を行います。

<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); 
}, 

私は、次の印刷特急側:

{ :私は次の出力を与える

function(req, res, next) { 
    console.log(req.body); 
} 

を'{"name": "jljk"}': ''}

私のエクスプレスアプリでは、それを取り囲む余分なオブジェクトではなく、ボディ{name: '...'}でreqを受け取ることが期待されます。誰かが私になぜこれが起こるか説明することができますか?

答えて

1

私の問題の解決策が見つかりました。私はiron-ajaxリクエストのcontentTypeをjsonに設定する必要があります。それ以外の場合、body-payloadを別々に送信する必要があります。

新しいHTML:

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

あなたは代わりにそのようなbodyparamsを使用して試みることができる:

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

これは、ポリマーおよびExpressを使用して私のためによく働きます。

+0

は、あなたの答えをありがとうございましたが、私は体にそれを送信したいと思います! – Bram

関連する問題