【发布时间】:2023-02-14 19:42:32
【问题描述】:
发送带有用户名和密码的帖子表单时,我收到一条错误消息:Cannot POST /validateUser
我的表格如下所示:
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="contentDiv">
<form action="/validateUser" method="post">
<!-- user input-->
Username:<br>
<input type="text" name="username" placeholder="Username" required><br><br>
Password:<br>
<input type="password" name="password" placeholder="Password" required><br><br>
<input type="submit" value="login">
</form>
</div>
</body>
</html>
在我的 app.js 我有这个
const express = require('express'),
app = express(),
app.set('view engine', 'ejs')
/*For getting form input*/
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: true }));
const validationRoute = require('./routes/validationRoute')
/* Routes */
//app.post('/validateUser', validationRoute)
app.use('/validateUser', validationRoute)
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Listening on Port: ${PORT}`);
})
我的 validationRoute 看起来像这样(尽管似乎我们从来没有走到这一步,因为错误在 app.js 中)
const express = require('express'),
router = express.Router(),
validationCon = require('../controllers/validationController')
router.get('/', validationCon.validateUser);
/*
router.get('/', (req, res) => {
console.log("URL from validate: "+req.url)
}) */
module.exports = router;
我的 validationController 看起来像这样(尽管似乎我们从来没有走到这一步,因为错误在 app.js 中)
const { logic } = require("../dbLogic");
module.exports = {
validateUser: async (req, res) => {
const uName = req.uName,
pwd = req.pwd;
const success = true//await logic.validateUser(uName, pwd);
if(success) {
//res.status(201).send('Login accepted');
res.render('../views/pages/secret');
}
else
res.status(400).send("Bad confidentials");
}
}
重要信息!!!
而不是做:app.use('/validateUser', validationRoute)
如果做
app.use('/validateUser', function (req, res) {
const name = req.body.username
console.log(name)
})
然后它运行良好,我可以访问用户名和密码。但我希望能够通过路由将其传递给控制器,以便我可以检查模型中的用户名和密码。
谁能看出这有什么问题:app.use('/validateUser', validationRoute)?
【问题讨论】:
标签: html node.js mongodb express mongoose