ExpressJS req.body值为空

ExpressJS req.body值为空,express,body-parser,Express,Body Parser,我正试图让一个post路由器在MongoDB数据库中插入一条评论。当我尝试运行Post路由器时,似乎输入字段的名称进入req.body.newComment,但值本身是空的 在应用程序中发布的结果: 但是,当我尝试在Postman中使用x-www-form-urlencoded运行此命令时,它可以读取值并成功地将文档保存到MongoDB 邮差调查结果: 目前在./app.js中,我使用以下几行代码来使用body解析器 var-bodyParser=require('body-parser'

我正试图让一个post路由器在MongoDB数据库中插入一条评论。当我尝试运行Post路由器时,似乎输入字段的名称进入req.body.newComment,但值本身是空的

在应用程序中发布的结果:

但是,当我尝试在Postman中使用x-www-form-urlencoded运行此命令时,它可以读取值并成功地将文档保存到MongoDB

邮差调查结果:

目前在./app.js中,我使用以下几行代码来使用body解析器

var-bodyParser=require('body-parser');
使用(express.json());
use(express.urlencoded({extended:true}));
use(bodyParser.urlencoded({extended:true}))

app.use(bodyParser.json())
我找到了一个解决方案!在临时删除我的PUG文件中的前端JS脚本后,POST路由器正确地接收到req.body.questionTitle的值

在我的脚本中,我编写了一个事件侦听器,它在提交数据后清除表单的输入字段。似乎POST路由器在事件侦听器重置字段后接收到该字段,因此该值为空。因为Postman没有使用前端脚本,所以它没有遇到这个问题,并且正常工作

为了解决这个问题,我在输入字段的清空周围添加了一个1毫秒的延迟和一个超时函数