在我的Express JS应用程序中,我正在使用 ejs视图引擎,我想将变量传递给客户端的javascript文件。
这是我的渲染:
return res.render('data/show', {
data: data
});
这对我有用:
<script>
var data = <%- JSON.stringify(data) %>;
console.log(data);
</script>
但是当我使用相同的代码时,我的函数位于我所包含的单独的.js文件中:
function gettingData() {
var data = <%- JSON.stringify(data) %>;
console.log(data);
}
我收到语法错误:
未捕获的SyntaxError:意外的令牌&lt;
提前感谢您提出任何建议。
答案 0 :(得分:1)
我没有和EJS合作,但我的猜测是:
<%- JSON.stringify(data) %>
...仅作为节点服务器提供的HTML文件中的替换(我相信具有.ejs扩展名),但上述内容将直接通过单独的.js文件直接显示单独装载。
答案 1 :(得分:0)
你可以试一试...... JSON.stringify(<%= data %>)
。希望这会有所帮助:)