通过视图将Express数据存储在全局变量中

时间:2014-08-05 15:32:21

标签: node.js express ejs

我有一个数据对象“bootstrappedUser”通过路由传递到视图中。

app.get('/', function(req, res) {
    res.render('index.ejs',{
      bootstrappedUser: req.user,
      page: 'rest'
    });
});

我想将“bootstrappedUser”JSON对象存储到全局变量中,并使用该变量来保持持久登录。目前正在定义bootstrappedUser时访问window.bootstrappedUserObject但它没有设置为任何东西。

 <% if (bootstrappedUser!= undefined) { %>
  <script>
  window.bootstrappedUserObject = <% bootstrappedUser %>                
</script>
<% } %> 

我在登录时收到以下源代码

<script>
window.bootstrappedUserObject =                                        
  </script>

1 个答案:

答案 0 :(得分:1)

您想使用<%= %>代替<% %>

 <% if (bootstrappedUser!= undefined) { %>
  <script>
  window.bootstrappedUserObject = <%= bootstrappedUser %>                
</script>
<% } %> 

<% %>只评估JavaScript,而<%= %>将表达式的结果插入到模板中。