我已经尝试了几乎所有这里提供的解决方案,但由于我是nodejs的新手,我在代码中缺少一些部分。请帮我找到它。 点击登录按钮后,我想将我的页面重定向到另一个简单的页面。
这是我的 login_authentication.js
window.onload = function() {
var username = document.getElementById("username");
var password = document.getElementById("password");
var loginButton = document.getElementById("login");
loginButton.onclick = function (req,res) {
if ( username.value == "" || password.value == ""){
alert("Please fill out details!");
}else {
//alert(username.value);
username.value = "";
password.value = "";
router.get('/users', function(req, res, next) {
// res.send('respond with a resource');
res.render('homepage', { title: 'Thank You' });
});
}
}
}
这是 app.js
app.use('/', index);
app.use('/users', users); // need to show this page rest is default code
这是 users.js
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function(req, res, next) {
// res.send('respond with a resource');
res.render('homepage', { title: 'Sample' });
});
module.exports = router;
当用户点击代码位于login_authentication的登录按钮时,我想重定向我的页面。谢谢你的帮助。
答案 0 :(得分:2)
在window.location="/users"
router.get('/users')
代替login_authentication.js
答案 1 :(得分:0)
假设你有一些形式,它有一些输入字段。
<form method="post" action="/thank-you" id="login">
<!-- Some input fields -->
<button type="button">Submit</button>
</form>
在您的前端js中,您将处理click事件。如果您的验证通过,那么您将表单提交给nodejs
var username = document.getElementById("username");
var password = document.getElementById("password");
var loginButton = document.getElementById("login");
loginButton.onclick = function (req,res) {
if ( username.value == "" || password.value == ""){
alert("Please fill out details!");
}else {
document.getElementById("login").submit();
}
}
此处在此路线的节点中,您将收到请求,请确保其中包含thank-you.html
文件。
//NODE
router.post('/thank-you', function(req, res) {
res.sendFile('thank-you.html');
});