Javascript 如何在登录后使用URL中的名称将用户呈现到主页?

Javascript 如何在登录后使用URL中的名称将用户呈现到主页?,javascript,mysql,node.js,express,url,Javascript,Mysql,Node.js,Express,Url,我试图在登录后的URL中显示用户名,如“localhost:1001/Home/Jay” 这是user.js代码中的代码 app.get('/login', (req, res) => res.render('login')); app.get('/Home/:name', function(req, res){ res.render('Home'); console.log(req.params.name) }); app.post('/login', functi

我试图在登录后的URL中显示用户名,如“localhost:1001/Home/Jay”

这是user.js代码中的代码

app.get('/login', (req, res) =>  res.render('login'));

app.get('/Home/:name', function(req, res){
    res.render('Home');
    console.log(req.params.name)
});

app.post('/login', function(req, res, next){
    var name = req.body.name;
    var pass = req.body.pass;

    let errors = [];

    if(name == ''){
        errors.push({ msg: 'Please Enter Name' });
    }

    if(pass == ''){
        errors.push({ msg: 'Please Enter Password' });
    }

    req.getConnection(function(err, connection){
    connection.query("SELECT * FROM App WHERE name = '"+ name +"' ", function(err, rows, fields){

        if(bcryptjs.compareSync(req.body.pass, rows[0].password)){
            console.log('Login');
            req.session.name = true;
            res.render('Home/:name' , { name: name });
        }else{
            errors.push({ msg: 'Wrong Password' });
        }
        if(err){
            console.log(err);
        }else{
            if(rows.length <= 0){
                    errors.push({ msg: 'Wrong Username' });
            }   
        }
        if(errors.length > 0){
            res.render('login',{
                errors,
                name,
                pass
            });
        }
    });
    });
});
app.get('/login',(req,res)=>res.render('login');
app.get('/Home/:name',函数(req,res){
res.render(“家”);
console.log(请求参数名称)
});
app.post('/login',函数(req,res,next){
var name=req.body.name;
var pass=req.body.pass;
让错误=[];
如果(名称=“”){
错误。推送({msg:'请输入名称'});
}
如果(通过=“”){
错误。推送({msg:'请输入密码'});
}
请求getConnection(函数(错误,连接){
connection.query(“从应用程序中选择*,其中name=”+name+“”,函数(err、行、字段){
if(bcryptjs.compareSync(req.body.pass,行[0]。密码)){
log('Login');
req.session.name=true;
res.render('Home/:name',{name:name});
}否则{
错误。推送({msg:'错误密码'});
}
如果(错误){
控制台日志(err);
}否则{
如果(行数0.0){
res.render('login'{
错误,
名称
通过
});
}
});
});
});
这是login.ejs表单im,使用post方法而不添加操作

<form method="POST" class="register-form" id="login-form">
<div class="form-group">
<label for="your_name"><i class="zmdi zmdi-account material-icons-name"></i></label>
<input type="text" name="name" id="your_name" placeholder="Your Name" value="<%= typeof name != 'undefined' ? name : '' %>" />
</div>
<div class="form-group">
<label for="your_pass"><i class="zmdi zmdi-lock"></i></label>
<input type="password" name="pass" id="your_pass" placeholder="Password" value="<%= typeof pass != 'undefined' ? pass : '' %>" />
</div>
<div class="form-group form-button">
<input type="submit" name="signin" id="signin" class="form-submit" value="Log in" />
</div>
</form>

我得到这个错误

无法在视图目录中查找视图“Home/:name”

res.redirect(`Home/${name}`);

您在一个post请求中,想要在get路由中重定向…

在您的视图目录中找不到Home.ejs。您在视图目录中创建了Home.ejs吗?是的,我创建了Home.ejs。请删除您的感谢信,先生,我已经在这里面呆了一个多星期了