iT邦幫忙

0

express post參數問題

  • 分享至 

  • xImage
app.post('/send', (req, res)=>{
    res.send('ok')
    console.log(req.body.data);
})

請問為什麼每次post的body都是undefined

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

3
Han
iT邦研究生 1 級 ‧ 2022-03-27 22:30:04
最佳解答

可以參考官網說明
https://expressjs.com/en/4x/api.html#req.body

Contains key-value pairs of data submitted in the request body. By default, it is undefined, and is populated when you use body-parsing middleware such as express.json() or express.urlencoded().

預設就是 undefined 沒有錯哦,除非要特別設定 middleware 處理你需要用的參數

官網範例

let express = require('express')

let app = express()

app.use(express.json()) // for parsing application/json
app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded

app.post('/profile', function (req, res, next) {
  console.log(req.body)
  res.json(req.body)
})
看更多先前的回應...收起先前的回應...

那請問可以用form-data格式嗎?

Han iT邦研究生 1 級 ‧ 2022-03-27 23:37:37 檢舉

有點久沒用那格式傳資料了QQ 你可以試試看
我想 express.urlencoded 那個 middleware 就會解析那種格式了

samuraigo iT邦新手 4 級 ‧ 2022-03-28 11:30:51 檢舉

現在主流前後端傳資料都用JSON格式,express以前要用body-parser套件才能解body格式出來,現在該功能已經包含在express裡了,但同Han大講的,要用middleware去執行。

謝謝大家

我要發表回答

立即登入回答