我在用express实现用户的登陆功能,数据库用的MongoDB,并且引入了Mongoose,以下这段代码处理客户端的post请求,如果能在数据库中找到用户名,且验证密码正确的情况下,就让客户端就如app的主页面"kanbanboard",但是这个render函数并没有执行,客户端点登陆之后,这边terminal收到post请求而且两个console.log都执行了,为什么render没有执行?
account.route('/signin')
.get(function (req, res) {
res.render("signin.hbs", { status: "Sign In" });
})
.post(function(req, res, next){
User.findOne({'username': req.body.username}, function (err, user) {
if (err) {
//Login Error
return handleError(err);
}
if (user.password !== req.body.password) {
console.log("Password Incorrect!");
return next(err);
}
console.log("Welcome, " + user.username);
res.render("kanbanboard.hbs", { username: user.username });
});
console.log("Post received, heading to KanbanBoard...");
});
你的表单是怎么提交的呢,如果使用ajax发送的异步请求的话,用
res.render()
貌似不会跳转,可以通过服务端返回redirectUrl
然后在前端来进行location.href = redirectUrl
来进行跳转。