首页 > 解决方案 > NodeJS 表单提交问题

问题描述

我正在尝试在我的 NodeJS 应用程序中提交数据。我一直在 json 中使用带有单个名称条目的 Postman,并且我的应用程序能够检测到帖子正文数据。屏幕截图如下:

在此处输入图像描述

我的问题是我无法让我的 html 标记成功提交数据。我向表单提供数据,但接收提交的nodejs函数显示请求数据为空。

以下是表单标记:

<form id="join_queue" action="/join_queue" method="post" enctype="application/json">
    <label for="">Please provide a name: </label>
    <input type="text" name="name" id="name">
    <input type="submit" value="Join">
</form>

这是我响应表单提交的 Nodejs 函数:

app.post('/join_queue', (req, res) => {
    console.debug('Post body: ', req.body)
    console.debug('Post param: ', req.params)
    res.render('join.ejs')
})

我得到的只是Post body: {}和参数一样。

我在这里做错了什么或错过了什么?如何让我的 html 表单的行为与邮递员表单相同?

标签: node.jsjsonform-submit

解决方案


我需要包含body-parser中间件,以获取此处所示的表单提交数据。

IE:

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }));

推荐阅读