使用express的nodejs应用程序中JS文件中的EJS变量



我有一个具有last_level属性的user对象我在我的快递路线上经过它,如下所示:

app.get('/game', (req, res) => {
res.render('main.ejs', { user: req.user })
})

我想在我的JS脚本文件中访问它。

经过一些研究,我尝试了这个。。。

var x = <%- user.last_level %>  

但它不起作用(不给我last_level的值来将其分配给variale x(。请帮我解决这个问题。

这是我的全部功能-

window.onload = function () {
var x = <%- user.last_level %> 
if (x === "Easy") {
console.log("easy")
} else if (x === "Hard") {
console.log("hard")
} else if (x === "Pro") {
console.log("pro")
}
console.log(x)
};

字符串化您的变量并查看结果。在您的ejs模板中使用以下代码

<script>
window.onload = function () {
var x =  <%- JSON.stringify(user.last_level) %>
if (x === "Easy") {
console.log("easy")
} else if (x === "Hard") {
console.log("hard")
} else if (x === "Pro") {
console.log("pro")
}
console.log(x)
};
</script>

另一种解决方案是

<script>
window.onload = function () {
<% if (user.last_level == 'Easy') { %>
console.log("easy")
<% } else if((user.last_level == 'Hard')  { %>
console.log("hard")
<% } else if(user.last_level == 'Pro')  { %>
console.log("pro")
<% } %>
};
</script>

最新更新