`
router.post("/login", (req, res) => {
console.log(req.body.username)
console.log(req.body.password)
res.redirect("/")
})
``
<body>
<form action="/register" method="post">
<label for="username">
</label>
<input type="text" name="username" placeholder="Username" id="username" required>
<label for="password">
<i class="fas fa-lock"></i>
</label>
<input type="password" name="password" placeholder="Password" id="password" required>
<input type="submit" value="Login">
</form>
</body>
`
我刚开始学习express,但已经有一个问题,我找不到任何修复。不知何故,req.body变量在帖子中未定义。这将是一个登录系统。(抱歉,我的英语不好)
我第一次尝试这样做在github:https://github.com/WebDevSimplified/express-crash-course,但我仍然有“类型错误:无法读取控制台中未定义“的属性”错误。所以我在寻找其他内容时发现了此错误:https://codeshack.io/basic-login-system-nodejs-express-mysql/我的代码是基于codeshack示例的,但仍然出现错误。
2条答案
按热度按时间yquaqz181#
如果你想访问post请求的主体,我们需要使用express中间件,它将解析请求的主体,并将其附加到req.body对象下。为了做到这一点,我们可以使用express.urlencoded()中间件。有关更多信息,请链接
wixjitnu2#
在处理程序之前添加中间件
应用程序.use(bodyParser.urlencoded({扩展的:false }))