我正在将Express / Node.js与mongoDB一起使用。 用户登录/注册时,他们会提供 JSON Web令牌(JWT)和 它们被重定向到“ homepage.hbs”。 如何在当前登录用户的主页上显示用户名?
这是我用于登录用户的代码。
Auth.js
objFileInputStream = getClass().getClassLoader().getResourceAsStream(propFile)
Index.js
$("#login-form").submit(function (event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: '/users/login',
dataType: 'json',
data: {
'user_name': event.target.inputUsername.value,
'password': event.target.inputPassword.value
},
success: function(token){
$(location).attr('href', '/homepage' );
},
Users.js
router.get('/homepage', function(req, res, next) {
try {
var jwtString = req.cookies.Authorization.split(" ");
var profile = verifyJwt(jwtString[1]);
if (profile) {
res.render('homepage');
}
}catch (err) {
res.json({
"status": "error",
"body": [
"Not logged in!"
]
});
}
});
答案 0 :(得分:0)
如果我了解您的问题,我认为您只需要在渲染视图时将一些局部变量传递给您的视图即可。例如:
res.render('homepage', { profile })
现在,在homepage
模板中,将有一个名为profile
的对象,其中包含各种用户数据。有关其他信息,请参见res.render
Express docs。