从静态html页面访问Express.js req或session

时间:2014-09-02 11:45:29

标签: html node.js express

如何从静态html页面访问Express.js req或session,例如,如何在index.html页面顶部显示登录用户名

2 个答案:

答案 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端的会话处理有用)