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
时,它是一个空对象{}。
身体解析器的版本也是:
npm body-parser -v
2.15.9
我可以在这里找到什么?
我也是和邮递员一起尝试的。
答案 0 :(得分: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
})