Nodejs express獲取POST參數(shù)值
2019-06-15 08:30:13
16952
學(xué)習(xí) nodejs,獲取url post傳回的參數(shù)時(shí),會(huì)發(fā)生和我一樣的問題,今天就來解決這個(gè)小麻煩
node.js不像php這種老牌后端語言有特定的獲取外部參數(shù)的做法,畢竟是個(gè)新生力量,希望后來的版本能夠更加便捷高效
//正常的獲取值
app.get('/', (req, res) => {
console.log(req.query);
res.send('完成');
});
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});
正常輸出的話,你的預(yù)想是這樣的...
// GET請(qǐng)求
{
name: '馮小賢',
age: '18'
}
完成
或
// POST請(qǐng)求
{
name: '馮小賢',
age: '18'
}
完成
然而并不是?。?!
// 兩次的輸出會(huì)是這樣!??!
{ }
undefined
這是因?yàn)槲覀冞@里缺少一個(gè)模塊,express的中間件 body-parser
官方說明
Node.js body parsing middleware.
Parse incoming request bodies in a middleware before your handlers, available under the req.body property.
基本就是說,解析客戶端請(qǐng)求的body中的內(nèi)容,JSON編碼處理和url編碼處理
接下來我們就來安裝 body-parser
// 安裝 body-parser
npm install body-parser
// 導(dǎo)入 app.js
var bodyParser = require('body-parser');
app.use(bodyParser());
//這樣就可以使用 req.body 來獲取 post 傳遞來的值了
app.post('/', (req, res) => {
console.log(req.body);
res.send('完成');
});
// json就是用 app.use(bodyParser.json())