express框架下后端獲取req.body報錯undefined_express服務器post中data為undefine-CSDN博客
/*** 特殊說明:Express是一個單線程服務器器程序【必須存在指定的順序調用,否則無法達到預期的效果】*//*** 第一步:創建一個Express實例對象,并且在匹配路由之前必須初始化第三方中間件【bodyParser,...】或自定義中間件* **/const app = express()
/*** 1、bodyParser是一個第三方中間件,用于解析res.body內容格式顯示具體類型的數據* 2、由于Express是單線程程序,這里接受body必須執行在路由請求之前【不然res.body會是undefined】*/
app.use(bodyParser.json()) // 解析application/json格式的數據
app.use(bodyParser.urlencoded({ extended: true })) // 解析application/x-www-form-urlencoded格式的數據
app.use(cookieParser()) // 解析cookie數據/*** 第二步:匹配路由【路由中間件】* **/app.use(`${_httpExpressSuffix}/test/test`, testRouter)
最終解決方案
后面想了向js是單線程的,代碼從上至下執行,上方app.js中body-parser的解析寫在了路由之后,會不會是前端傳送的數據未經過解析就通過路由進行下一步操作,果不其然。。。改了app.use(router)和app.use(bodyParser)的順序之后解析正常,沒報錯