手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

Nodejs express獲取POST參數值

2019-06-15 08:30:13 10898

學習 nodejs,獲取url post傳回的參數時,會發生和我一樣的問題,今天就來解決這個小麻煩

node.js不像php這種老牌后端語言有特定的獲取外部參數的做法,畢竟是個新生力量,希望后來的版本能夠更加便捷高效


//正常的獲取值
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'
}
完成

然而并不是!!!

// 兩次的輸出會是這樣!!!
{ }
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中的內容,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())


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: