关于Express的req.body返回为空的问题

今天在写代码的时候发现express框架获取用户输入数据的时候一直返回的是空对象;
遇到这种情况,首先检查是否引入中间件解析req.body中的内容:
有两种方式,

一种直接使用第三方中间库bodyParser:

先在终端用npm安装bodyParser,并在文档中插入如下语句

var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

另外一种就是利用express中集成的bodyParser:

直接在文档中插入:

app.use(express.static(__dirname+'/public'));

我发现上面的措施都没有解决我的问题,所以我输出了req整体的内容去看,发现req.body在没有解析前已经为空,所以我去html文件中看了一下,发现input一定要有name属性,如:

邮箱:<input type="email" name="email"><br><br>

因为在这里,name相当于key,还有一个属性value相当于值(此属性可以省略)
当然,我这里是因为自己的书写失误,出现了语法错误,两个属性之间加了逗号,但是并不报错,所以一直没有找到原因,我是这样写的:

邮箱:<input type="email",name="email"><br><br>

这个问题真的很简单,但是确实很难找,记录mark一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李喵喵爱豆豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值