Body 解析器行为异常
Body parsers behaving weirdly
我正在尝试用很少的 API 开发一个应用程序,我在这里面临的问题是当我使用
app.use(bodyParser.urlencoded({ extended: false }));
作为我的中间件,它不接受我通过邮递员发送的请求(所有通过邮递员发送的请求都带有空 body idk 为什么。它接受所有通过 html 表单发送的请求.
另一方面,如果我使用
app.use(express.json({extended: false}))
作为我解析 json objects 的中间件,它接受来自邮递员的所有请求,但不接受来自我的浏览器表单的请求。谁能解释一下这里发生了什么?
为了让 express 能够解析 JSON 请求负载和简单的 form-data 请求,您只需设置上述的 both中间件(注意 express.json()
没有扩展选项):
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.json());
有关详细信息,请参阅文档:
https://expressjs.com/en/api.html#express.json
https://expressjs.com/en/api.html#express.urlencoded
我正在尝试用很少的 API 开发一个应用程序,我在这里面临的问题是当我使用
app.use(bodyParser.urlencoded({ extended: false }));
作为我的中间件,它不接受我通过邮递员发送的请求(所有通过邮递员发送的请求都带有空 body idk 为什么。它接受所有通过 html 表单发送的请求.
另一方面,如果我使用
app.use(express.json({extended: false}))
作为我解析 json objects 的中间件,它接受来自邮递员的所有请求,但不接受来自我的浏览器表单的请求。谁能解释一下这里发生了什么?
为了让 express 能够解析 JSON 请求负载和简单的 form-data 请求,您只需设置上述的 both中间件(注意 express.json()
没有扩展选项):
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.json());
有关详细信息,请参阅文档:
https://expressjs.com/en/api.html#express.json https://expressjs.com/en/api.html#express.urlencoded