Javascript 使用express的nodejs应用程序中JS文件中的EJS变量
我有一个Javascript 使用express的nodejs应用程序中JS文件中的EJS变量,javascript,node.js,mongodb,ejs,Javascript,Node.js,Mongodb,Ejs,我有一个user对象具有last\u level属性 我在我的特快路线上经过它,如下所示: app.get('/game', (req, res) => { res.render('main.ejs', { user: req.user }) }) 我想在我的JS脚本文件中访问它 经过一些研究,我尝试了这个 var x = <%- user.last_level %> var x= 但它不起作用(并没有给我最后一个_级别的值来分配给变量x)。请帮我解决这个问
user
对象具有last\u level
属性
我在我的特快路线上经过它,如下所示:
app.get('/game', (req, res) => {
res.render('main.ejs', { user: req.user })
})
我想在我的JS脚本文件中访问它
经过一些研究,我尝试了这个
var x = <%- user.last_level %>
var x=
但它不起作用(并没有给我最后一个_级别的值来分配给变量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)
};
window.onload=函数(){
变量x=
如果(x==“容易”){
console.log(“简单”)
}如果(x==“硬”){
控制台日志(“硬”)
}如果(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>
window.onload=函数(){
变量x=
如果(x==“容易”){
console.log(“简单”)
}如果(x==“硬”){
控制台日志(“硬”)
}如果(x==“Pro”){
console.log(“pro”)
}
console.log(x)
};
另一种解决办法是
<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>
window.onload=函数(){
console.log(“简单”)
控制台日志(“硬”)
console.log(“pro”)
};
您应该尝试var x=user.last\u level
不带标记。您的用户对象是否在脚本文件之前加载var x=user.last_level
虽然如果它已经存在,为什么需要将它设置为变量?只是为了未来,但它不起作用是“描述”问题最糟糕的方式。它的给定用户未在窗口中定义。onload
error@federico Moretti正在加载页面底部的脚本文件。用户对象由express传递@CracierJack您能否指定错误,因为我已经尝试并测试过了。它正在工作。您尝试了哪个解决方案。@IROCfor第一个Uncaught SyntaxError:Unexpected token'这是我的路由调用代码app.get('/game',(req,res)=>{res.render('main.ejs',{user:req.user})}
您应该在脚本
标记中使用第一个解决方案。就像我在上面编辑的一样。因为我们使用的是JSON.stringify
函数。由于编辑器中没有ejs
支持,您可能正在观察红色代码。