猿问

Express.js req.body undefined

Express.js req.body undefined

我有这个作为我的Express服务器的配置


app.use(app.router); 

app.use(express.cookieParser());

app.use(express.session({ secret: "keyboard cat" }));

app.set('view engine', 'ejs');

app.set("view options", { layout: true });

//Handles post requests

app.use(express.bodyParser());

//Handles put requests

app.use(express.methodOverride());

但是当我req.body.something在我的路线中要求时,我会得到一些错误指出body is undefined。以下是使用req.body以下路线的示例:


app.post('/admin', function(req, res){

    console.log(req.body.name);

});

我读到这个问题是由于缺乏而引起的,app.use(express.bodyParser());但是你可以看到我在路线之前调用它。


任何线索?


白板的微信
浏览 1144回答 3
3回答

UYOU

最新版本的Express(4.x)已从核心框架中分离出中间件。如果您需要身体解析器,则需要单独安装它npm install body-parser --save然后在你的代码中执行此操作var bodyParser = require('body-parser')var app = express()// parse application/x-www-form-urlencodedapp.use(bodyParser.urlencoded({ extended: false }))// parse application/jsonapp.use(bodyParser.json())

qq_花开花谢_0

第您需要使用app.use(express.bodyParser())之前app.use(app.router)。事实上,app.use(app.router)应该是你打电话的最后一件事。
随时随地看视频慕课网APP

相关分类

Node.js
我要回答