Node.js request.body未定义

这是我的server.js文件:

var express = require("express"); var bodyParser = require("body-parser"); var controllers = require('./controllers'); var app = express(); controllers.init(app); app.set('view engine', 'vash'); app.use(bodyParser()); app.use(express.static(__dirname + "/public")); app.listen(5000); 

这是我在控制器文件夹中的index.js代码:

 (function(controllers){ var homeController = require('./homeController'); controllers.init = function(app){ homeController.init(app); }; })(module.exports); 

这是我的homeController.js代码:

 (function(homeController){ homeController.init = function(app){ app.get('/', function(req, res){ res.render('index', {title: "The Board"}); }); app.post("/", function(req, res){ console.log(req.headers); console.log(req.body); }); }; })(module.exports); 

这是我的HTML:

 @html.extend('layout', function(model){ @html.block('body', function(model){ @if(model.error){ <p class="text-error">Error occurred: @model.error</p> } <div class="row"> <form action="/" method="post">Enter your name: <input type="text" name="userName" placeholder="..." /> <br> <button type="submit">Submit</button> </form> </div> }) }) 

当我做出后行动req.body是未定义的。 我怎么解决这个问题?

移动app.use(bodyParser()); 在路由声明之前controllers.init(app);