如何从静态html页面访问Express.js req或session,例如,如何在index.html页面顶部显示登录用户名
答案 0 :(得分:4)
你需要模板引擎。
例如:
如果您使用swig:
的index.html:
<span>{{name}}</span>
index.js:
res.render("index.html",{
name:req.session.userName
});
快速支持多个template engines,您可以随意choose one。
答案 1 :(得分:4)
你必须使用模板引擎。 JADE默认使用express和html,你可以使用ejs。 它的工作方式类似于JSP&lt; %%&gt;
例如: - 如果你已经通过了这样的事情:
<?php
$user = $_SESSION['reg']['data']['user'];
$password = $_SESSION['reg']['data']['password'];
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
现在您可以使用&lt;%= user%&gt;传递的变量用户在html中:
router.get('/userDash',function(req,res){
.....
res.render('userDash',{user:req.session.username});
});
创建一个api,它返回当前登录的用户,如果没有用户登录,则返回null:
<html>
<head>
</head>
<body>
<h1>Welcome <%= user %> </h1>
</body>
</html>
or
在需要的时候在html中对它进行ajax调用,你将获得有关当前用户登录的信息。(这不是一个很好的方法,这对我在html端的会话处理有用)