Express 的req.body 为空
问题描述
在使用express时,想接收文件,但是发现req.body 不接收数据为空
how to solve?
错误的写法:
let bodyParser = require('body-parser');`
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
由于express在2019年就取消了 bodyParser模块,导致bodyParser 没有生效,但是VS给了横线提示,当时并没有在意,也是没有理解代码,拿来主义的心理作祟,导致给自己挖了很大的一个坑,还填不上。
正确的写法:
(直接用express掉用以前在bodyParser中的方法即可)
// parse application/x-www-form-urlencoded
app.use(express.urlencoded({ extended: false }))
// parse application/json
app.use(express.json())
其实还是很奇妙的,才开始接触node,找了一个两年前的项目,有点过度依赖和信任这份代码了,导致接收文件这个事儿困扰了我很久。也给了很大的教训,以后写代码,不要过分相信别人说的,要一步一步的debug,不要想当然的debug!!!