2017-02-20 4 views
0

私はherokuにexpressを使用してREST APIとして動作するノードアプリケーションを持っています。expressとノードでPOSTを送信するときにreq.bodyが空である

先週の木曜日と金曜日に、REST Easyを使ってFirefoxを使って投稿するとうまくいきました。私は土曜日の朝に願って、リクエストはもはやデータを送信しません。

私はリクエストのペイロードにデータを見ることができますが、リクエスト本体にデータを渡すことはありません。

import express from 'express'; 
import bodyParser from 'body-parser'; 

let app = express(); 

app.use(bodyParser.urlencoded({ extended: true})); 
app.use(bodyParser.json()); 

app.set('port', (process.env.PORT || 5000)); 

let router = express.Router(); 

router.post('/', (req, res) => { 
    res.json(req.body); 
}); 

app.use('/api', router); 

app.listen(app.get('port'),() => { 
    console.log('Node app is running on port', app.get('port')); 
}); 

私は取り戻すすべてのiがあると信じて空のオブジェクト、あるbodyParser.json()

の積によって私はapplication/x-www-form-urlencodedを使用して、フォームデータとして送信していますし、私もそれを確認するためにチェックを試してみました私は任意の考え、この時点で完全に困惑していたキーが

try { 
    req.body = JSON.parse(Object.keys(req.body)[0]) 
} catch (err) { 
    req.body = req.body 
} 

を使用して、本体データであることを原因と思われる、二回解析されませんでしたか?

+0

質問を投稿していただきありがとうございます。 –

+0

私はhttps://addons.mozilla.org/En-us/firefox/addon/rest-easy/ – crohde7707

+0

を使用しています。 req.bodyはキー値データを提供しています –

答えて

0

それはそのアドオンで何かだったように見えますが、一晩中作業を停止しました。クロムをダウンロードしてAdvance Rest Clientを使用しなければならず、それはデータが通過することを示していました。 @ p0k8_

+0

使用郵便配達https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=enにジャンプするためのおかげで、 あなたがあれば、コメントをupvoteすることを確認してください誰かを見つける –

関連する問題