【问题标题】:Accessing Express.js req or session from static html page从静态 html 页面访问 Express.js 请求或会话
【发布时间】:2014-10-26 16:11:37
【问题描述】:

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

【问题讨论】:

  • 问题不清楚,请解释清楚
  • hmmm...我不知道为什么不清楚,这很简单,我只需要知道如何在静态 html 页面中注入会话变量

标签: html node.js express


【解决方案1】:

你需要模板引擎。

例如:

如果你使用swig

index.html:

<span>{{name}}</span>

index.js:

res.render("index.html",{
    name:req.session.userName
});

快递支持很多template engines,你可以choose one随意。

【讨论】:

  • 非常感谢,这就是我想要的。我试图接受你的回答,但它需要 15 分才能做到这一点,知道如何通过吗?再次感谢
【解决方案2】:

您必须使用模板引擎。 JADE 默认带有 express,对于 html,您可以使用 ejs。 它的工作方式类似于 JSP,如

例如:-如果你通过了这样的事情:

router.get('/userDash',function(req,res){
..... 

 res.render('userDash',{user:req.session.username});

});

现在您可以在 html 中使用 传递的变量 user,例如:

<html>
<head>
</head>
<body>
 <h1>Welcome <%= user %> </h1> 
</body>
</html>             


                             or

创建一个返回当前用户登录的api,如果没有用户登录则返回null:

router.get('/user',function(req,res){
  if(req.session && req.session.username){
    res.send(req.session.username);
  }
  else{
    res.send('noUser');
  }
}

在需要时在 html 中对其进行 ajax 调用,您将获得有关当前登录用户的信息。(这不是一个好的方法,它在 html 端的会话处理中对我有用)

【讨论】:

    猜你喜欢
    • 2011-09-13
    • 2015-01-27
    • 2011-07-31
    • 2015-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    相关资源
    最近更新 更多