Javascript 路由器post不会从表单返回数据

Javascript 路由器post不会从表单返回数据,javascript,express,Javascript,Express,当我使用以下帖子从我的注册页面发出帖子请求时: router.post("/", (req, res) => { user = req.body.username; console.log(user) return res.render("register.ejs", { message: "sucessful post" }) }) 它表示用户未定义,ejs的表单如下所示: &l

当我使用以下帖子从我的注册页面发出帖子请求时:

router.post("/", (req, res) => {
    user = req.body.username;
    console.log(user)
    return res.render("register.ejs", {
        message: "sucessful post"
    })
})
它表示用户未定义,ejs的表单如下所示:

<form action="/register" method="POST">
                <div>
                    <label for="username">Username</label>
                    <input type="text" id="username", name="username" required minlength="3" maxlength = "20" pattern="[a-zA-Z0-9]+" title="Username must only contain letters and numbers with no spaces.">
                </div>
                <div>
                    <label for="password">Password</label>
                    <input type="password" id="password", name="password" required minlength = "6" maxlength="20" pattern="^[-a-zA-Z0-9@\.+_]+$" title="Password must contain 6-20 characters with no spaces.">
                </div>
                <button type="submit">Register</button>
            </form>

用户名
密码
登记
我的注册路由器在自己的routes文件夹中,运行良好,只是我无法从表单中获取数据。如果你还需要什么,请问一下。 我还尝试将
user=req.body.username
更改为
const/var user=req.body/params.username
,但没有任何组合。

需要添加:

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

到我的服务器文件

是否使用任何正文解析中间件?你没有在问题中包括任何内容。我不是说这只是一个基本的post请求,你的意思是什么?你需要一个体解析器来读取任何请求体,无论它多么基本。-就在纪录片里,非常感谢。