Express 的req.body 为空

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!!!

上一篇:Java 实现选择排序


下一篇:开源函数之1.ini_parse详解