gpt4 book ai didi

javascript - 使用 ejs 嵌入用户对象

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:48 24 4
gpt4 key购买 nike

我目前正在使用 Passport 模块在 Node.js 中实现 Web 应用程序的身份验证。我在渲染索引页面时将用户对象返回给用户

app.route('/').get(function(req, res) {
res.render('index', {
isAuthenticated: req.isAuthenticated(),
user: req.user //User Object provided by passport
});
});

我正在尝试使用 ejs 将用户对象嵌入到 DOM 中:

<!--Embedding The User Object-->
<script type="text/javascript">
var user = <%= user%>;
</script>

但存在一些编码问题。这是我在浏览器中查看源代码时的输出:

<!--Embedding The User Object-->
<script type="text/javascript">
var user = { email: &#39;test@gmail.com&#39;,
roles: [ &#39;user&#39; ],
created: Thu Feb 04 2016 19:13:16 GMT+1100 (AEDT),
__v: 0,
_id: 56b3081cb406f8156cd3798a };
</script>

我正在遵循一个使用 swig 的示例,其中它们像这样处理编码:

<!--Embedding The User Object-->
<script type="text/javascript">
var user = {{ user | json | safe }};
</script>

我对 swig 不太熟悉,所以我认为它是某种管道。我想知道如何使用 ejs 来做到这一点?

最佳答案

在 Swig, {{ user | json | safe }}意思是:

返回此 JavaScript 对象的字符串表示形式 user并向我返回这个字符串,强制它不被自动转义。

Jade 质

!{JSON.stringify(user)}未转义

#{JSON.stringify(user)}逃脱

在 Ejs 中,

<%- JSON.stringify(user) %>未转义

<%= JSON.stringify(user) %>逃脱

关于javascript - 使用 ejs 嵌入用户对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35195853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com