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