Express request.body 为空
Posted
技术标签:
【中文标题】Express request.body 为空【英文标题】:Express request.body is empty 【发布时间】:2021-09-17 12:54:49 【问题描述】:这是我的代码,每当我使用邮递员或 cURL 发送帖子请求时,我都会得到一个空正文
const express= require('express');
const app = express();
app.use(express.json())
app.post('/',(req,res)=>
res.json(req.body);
);
app.listen(3000)
https://i.stack.imgur.com/OqygG.png
【问题讨论】:
您是否在启动服务器之前或AFTER
进行了更改?这看起来应该可以,但是您对快速服务器所做的任何更改都需要重新启动。
我刚刚尝试了您的代码,它按预期工作,发送的正文在响应中返回。
可能您必须重新启动应用才能使更改生效
你有Content-Type: application/json
吗?
【参考方案1】:
检查您的 html 表单名称标签。如果名称标签丢失,您将无法从 req.body 上获取数据。
<input name="example" id="example1" />
【讨论】:
【参考方案2】:您应该使用内容类型标头。试试:
⚡ curl -X POST -d '"title": "test title"' -H "Content-Type: application/json" http://localhost:3000/
"title":"test title"%
【讨论】:
以上是关于Express request.body 为空的主要内容,如果未能解决你的问题,请参考以下文章
尝试在 Axios GET 的正文中发送数据以在 Django 后端使用,但 request.body 的打印为空
Typescript爬虫实战(2) ---- 使用表单的形式对接口进行保护