Express.js req.body undefined我有這個(gè)作為我的Express服務(wù)器的配置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 requestsapp.use(express.bodyParser());//Handles put requestsapp.use(express.methodOverride());但是當(dāng)我req.body.something在我的路線中要求時(shí),我會(huì)得到一些錯(cuò)誤指出body is undefined。以下是使用req.body以下路線的示例:app.post('/admin', function(req, res){ console.log(req.body.name);});我讀到這個(gè)問(wèn)題是由于缺乏而引起的,app.use(express.bodyParser());但是你可以看到我在路線之前調(diào)用它。任何線索?
3 回答

UYOU
TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
最新版本的Express(4.x)已從核心框架中分離出中間件。如果您需要身體解析器,則需要單獨(dú)安裝它
npm install body-parser --save
然后在你的代碼中執(zhí)行此操作
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())

qq_花開(kāi)花謝_0
TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
第您需要使用app.use(express.bodyParser())
之前app.use(app.router)
。事實(shí)上,app.use(app.router)
應(yīng)該是你打電話的最后一件事。
- 3 回答
- 0 關(guān)注
- 1232 瀏覽
添加回答
舉報(bào)
0/150
提交
取消