Express JS将变量传递给Javascript文件

时间:2018-03-11 01:20:09

标签: javascript node.js express view render

在我的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;

提前感谢您提出任何建议。

2 个答案:

答案 0 :(得分:1)

我没有和EJS合作,但我的猜测是:

<%- JSON.stringify(data) %>

...仅作为节点服务器提供的HTML文件中的替换(我相信具有.ejs扩展名),但上述内容将直接通过单独的.js文件直接显示单独装载。

答案 1 :(得分:0)

你可以试一试...... JSON.stringify(<%= data %>)。希望这会有所帮助:)