我正在尝试将服务器发送的一些数据保存到客户端 localStorage 中的 EJS 模板中。但是,当我尝试访问模板中的 localStorage 时,我得到 localStorage is undefined。
这是我的 page.ejs 的一部分:
<% localStorage.setItem('info', JSON.stringify({'user': user})) %>
其中 user 是从服务器接收到的值。
这可能吗?
最佳答案
有几个选项取决于您想要做什么。我看到这篇文章想要做一些不同的事情,但这是一种方法:
模板渲染并传递数据user
后,添加script标签修改localStorage
。
<!-- example.ejs -->
<!-- check for user on page load -->
<% if (typeof user != "undefined") { %>
<!-- make user available to script tag -->
<% var user = user %>
<!-- use script tag to access ejs data and local storage -->
<script>
let user = <%- JSON.stringify(user) %>;
localStorage.setItem('info', JSON.stringify({'user': user}));
</script>
<% } %>
关于node.js - 从 ejs 模板访问 localStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272006/