2017-07-18 13 views
0
var express = require('express'); // Express instance to access its 
var path = require('path'); 
var mongoose = require("mongoose"); // mongodb ODM 

var bodyParser = require('body-parser'); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

app.set('port', process.env.PORT || 3000); // 
app.use(express.static(path.join(__dirname, 'node_modules'))); 

mongoose.connect(config.MONGO_DB_URI, function(error){ 
    if (error) { 
     console.log("Oops! Connection Failed! " + error); 
    } else { 
    console.log("Ahoy! Connection Successful with Mongo!"); 
    } 
}); 


app.use('/api', function(req, res){ 
    console.log("dasasasa"); 
    console.log(req.body); 
}); 

module.exports = app; 

ログすると、req.bodyは空のオブジェクトです{}。 また、ボディパーサーのバージョンは次のとおりです。nodejs body-parserがデータを取得できません

npm body-parser -v 
2.15.9 

私はここで何が不足してすることができますか?
また、私は郵便配達員と一緒に試しています。

+0

は、あなたがあなたの要求データを設定し、絶対によろしいです郵便配達員で正しく? – Lazyexpert

+0

ねえ、私はx-ww.form-urlencodedを作ったときにうまくいった –

答えて

0

bodyParserオブジェクトは、ミドルウェアを作成するためのさまざまなファクトリを公開します。すべてのミドルウェアは、Content-Typeリクエストヘッダーがtypeオプションと一致する場合、req.bodyプロパティに解析されたボディを挿入します。解析するボディがない場合、Content-Typeが一致しなかった場合は空のオブジェクト({})、エラーが発生しました。

あなたのようないくつかのことを使用していることを確認してください:

Client.js:

$.ajax({ 
    type: "POST", 
    url: '/yourRoute', 
    data: data, 
    dataType: dataType, 
    success: function(data) { 
     //do something 
    } 

}); 

とserver.js

app.use('/yourRoute', function(req, res) { 
    console.log(req.body) // should be data from client 
}) 
関連する問題