我想做一个登陆界面,用户登陆后会显示他的姓名信息和余额,在login’界面的时候post之后显示home 的页面的时候是正常的,但是我在home 的页面的时候 在浏览器输入 当时的url的时候 结果会只返回一个json,我想要的是页面不变 谢谢各位老师赐教!
这是我route的代码:
router.post(’/home’, function(req, res) {
var query = { username: req.body.username,
password: req.body.password
};
user.findOne({ ‘username’: query.username, ‘password’ : query.password}, function (err, user){
if(user){
console.log(query.username + ": 登陆成功 " + new Date());
req.session.user = user.username;
req.session.firstname = user.firstname;
req.session.lastname = user.lastname;
userAcc.findOne({‘username’: query.username}, function(err, info){
console.log(“this function is read”);
if(info) {
req.session.credit = info.credit;
res.render(‘home’);
}else {
console.log(query.username + ": 登陆失败 " + new Date());
res.redirect(’/’);
}
});
}else{
console.log(query.username + ": 登陆失败 " + new Date());
res.redirect(’/’);
}
});
});
router.get(’/home’, function(req, res){
if (req.session && req.session.user) { // Check if session exists
// lookup the user in the DB by pulling their email from the session
console.log(“here we get the session!!”);
// expose the user to the template
res.locals.user = req.session.user;
res.send(req.session);
} else {
res.redirect(’/’);
}
});
module.exports = router;
这是我 html的代码: <script> $(document).ready(function(){ $.get("/home", function(data, status){ if(status == ‘success’) { $("#username").html(“Mr " + data.lastname); $(”#useremail").html(data.user); $("#credits").html("" + data.credit); }else { alert(“something wrong!!!”); } }); }); </script>