2017-09-25 11 views
0

すべてのデータをログに記録してから応答として返します。postman Expressでraw jsonを使用してPOSTデータを送信します。

app.post('/data', (req, res) => { 
    const data = req.body 
    console.log(data) 
    return res.json({ 
    data 
    }) 
}) 

私は郵便配達員とデータを送信しています。 Bodyタブには、「生の」選択と「JSON(アプリケーション/ JSON)」があります。ヘッダータブはContent-Type application/jsonです。私はこれを送信しています:

{ 
     "aa": 23 
    } 

を、私は私が得るすべては空のオブジェクトであり、データ変数が、私はconsole.logに定義されていない送信ボタンをクリックします。それを修正するには?私はすべてをダブルチェックした。それはうまくいくはずですが、そうではありません。

+4

body-parserなどの投稿要求データを処理するためにミドルウェアをインストールしましたか? – IzzyCooper

答えて

1

res.JSON()に無効な値を渡しているようです。試してください:

return res.json(data); 
+0

必ずしも完全に有効なJSプロパティの略語 – James

+0

Bodyには何も見つかりませんでしたが、data変数はconsole.logでまだ定義されていません。 –

1

申し訳ありませんが、解決策が見つかりました。

"body-parserモジュールはbodyとurlの解析に使用されるため、 'req.body ...'を呼び出す前に呼び出す必要があります。"

だから私はこのでした:

import bodyParser from 'body-parser' 

const app = express() 
app.use(bodyParser.urlencoded()) 
app.use(bodyParser.json()) 

app.post('/data', (req, res) => { 
    const data = req.body 
    console.log(data) 
    return res.json({ 
    data 
    }) 
}) 

をそして今、それが正常に動作します。

関連する問題