2017-08-01 9 views
0

これは簡単なデモで、http post要求を行い、ログ要求オブジェクトを試行します。 「REQ」オブジェクトが出て定義されていない理由をレスポンスオブジェクトは未定義です。ポストメソッド関数

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

var app = express() 
var router = express.Router(); 
app.use(router) 
app.use(bodyParser.json()) 

foo=(req, res)=>{ 
    console.log(req.body) 
    res.send('Request Handled Here!') 
} 
router.route('/').post(foo) 

app.listen(3300, '127.0.0.1', (req, res)=>{ 
    console.log("Express listening!!!!") 
}); 

私はデータ「ここ取扱要求」メッセージを参照してくださいが、データはコンソールで常に未定義で返すことができ、私は理解できませんでした。

編集:アプリケーション/ JSONをし、そこにある:私は、APIをテストするために、コンテンツタイプを郵便配達を使用しています{メッセージ:「!こんにちは世界」}ボディセクションでダミーデータを

Edited2:それはそこに私の唯一の問題と思われますリクエストコンテキスト内の "body"属性ではなく、すべてのreqヘッダーを取得しますが、私はちょうど投稿されたデータを取得したい、ネット上の多くのサンプルにはreq.bodyセクションに何が間違っていますか?

+0

は、あなたが 'POST'リクエストと'コンテンツ-type'がある 'アプリケーション/ json'を送っていることを確認していますか? – alexmac

+0

@alexmacはい私はそれについてかなり確信して更新された投稿です – TyForHelpDude

答えて

1

ミドルウェア宣言の順序の問題。 routerbody-parser後に追加する必要があります。

var app = express() 
var router = express.Router(); 
app.use(bodyParser.json()); 
app.use(router); 
+0

あなたが選挙に参加するなら、私はあなたに喜んで投票します、ありがとう – TyForHelpDude