首页 > 解决方案 > 提交时 PugJS 表单 POST 带有空的正文数据 {}

问题描述

我有一个带有简单登录表单的 Pug 文件:

form(name='signup' action='/auth/signup' method='post')
.form-floating.mb-3
    input#emailInput.form-control(type='email' placeholder='name@example.com')
    label(for='emailInput') Email address 
.form-floating.mb-3
    input#passwordInput.form-control(type='password' placeholder='Password')
    label(for='passowordInput') Password
input#btnSignin.btn.btn-secondary(type='submit' value='Sign In')

这是我的路由器文件:

const express = require('express');

const authRouter = express.Router();

authRouter.route('/signup').post((req,res)=>{
    res.json(req.body);
});

module.exports = authRouter;

在 app.js 我也设置了这两个:

app.use(express.urlencoded({extended:false}));
app.use(express.json());

但是,当我提交表单时,我得到空括号 {},就好像输入中没有任何内容一样。我真的很感谢任何帮助,谢谢!

标签: htmlformspostpug

解决方案


原来我忘了在输入中设置名称。它现在正在工作:

form(name='signup' action='/auth/signup' method='post')
.form-floating.mb-3
    input.form-control(name='email' type='email' placeholder='name@example.com')
    label(for='emailInput') Email address 
.form-floating.mb-3
    input.form-control(name='password' type='password' placeholder='Password')
    label(for='passowordInput') Password
input#btnSignin.btn.btn-secondary(type='submit' value='Sign In')

推荐阅读