nodejs – req.body是未定义的

我想发布一些数据到服务器。 问题是,似乎服务器无法接收数据。

所以我的发布数据是这样的:

name=hello&email=there&message=sometext 

和我的服务器代码是这样的:

 var url = require('url'), express = require('express'), http=require('http'), path = require('path'), nodemailer = require('nodemailer'); var app = express(); var server = http.createServer(app); app.engine('.html', require('ejs').__express); app.set('views', __dirname + '/views'); app.set('view engine', 'html'); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function(req, res){ res.render('home'); }); app.use(express.bodyParser()); app.post('/', function(req, response){ console.log(req.body); // console.log(request.body.name); }); server.listen(4000); console.log('server running ' + 'now ' + Date.now()); 

console.log(reg.body)运行时,terminal输出是“undefined”

所有的查询string输出都是由app.use(express.bodyParser());默认parsing的app.use(express.bodyParser()); 简单的解决你的问题是尝试loggingreq.query ,就像

 console.log(req.query); 

移动app.use(express.bodyParser())); (express.static(path.join(__ dirname,'public')));