2017-09-15 6 views
1

ノード{id: "abc123", text: "sometext"}をノードAPIにポストしています。 action呼び出してコンポーネントの投稿:私はinputDatareq中を読むことができるようにしたいポスト読んだ投稿からノードを取得する

var express = require('express'); 
var bodyParser = require('body-parser'); 

var app = express(); 

app.use(bodyParser.json()); 

app.post('/addtest', (req, res) => { 

    console.log(req.body);  // <= returns blank object {} 

    console.log(req.body.data); // <= returns undefined 

    console.log(req.query);  // <= returns blank object {} 

    console.log("test added");  

}); 


app.listen(3000); 

export function addTextToAPI(inputData) { 
    return(dispatch) => { 
     console.log(inputData), 
     dispatch(addText(inputData)) 
     fetch(myapi, { 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      method: 'POST', 
      data: inputData 
     }) 
     .then(res => res.json()) 
    } 
} 

はconsole.log(引数inputData)は{id: "abc123", text: "sometext"}

ノードです。それ、どうやったら出来るの?私はreqinputDataを読むことができます。それ、どうやったら出来るの?

+0

を私も試してみた 'JSON.stringifyは(入力データ)'が、それは動作しません。 – Somename

+0

コンテンツタイプのリクエストヘッダは何ですか? – Phix

+0

@Phix ..問題の 'fetch'を更新しました。見てください。 – Somename

答えて

3

データを投稿するには、bodyパラメータを渡す必要があります。

これは動作するはずです:

export function addTextToAPI(inputData) { 
    return(dispatch) => { 
     console.log(inputData), 
     dispatch(addText(inputData)) 
     fetch(myapi, { 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      method: 'POST', 
      body: JSON.stringify(inputData) 
     }) 
     .then(res => res.json()) 
    } 
} 
+0

'body'を渡すことができません。今ではノードからコンソールログも取得していません。 'data'コンソールログに戻ります。身体を通り過ぎるものはノードとはまったく呼ばれません。 – Somename

+1

'inputData'を' JSON.stringify 'して、本体として渡してみてください – mkhanoyan

+0

これはうまくいきました! 'JSON.stringify'はそのトリックを行いました。 'body'を追加する必要があり、他の' param'のように渡すことができないのはなぜですか? – Somename

関連する問題