Reference Error: array value is not defined

Reference Error: array value is not defined

我正在使用 Node Web 应用程序,我将数据从服务器传递到客户端。这是有问题的路线:

router.get("/:id", function(req, res){
Player.findById(req.params.id).populate("comments").exec(function(err, foundPlayer){
    if(err){
        console.log(err);
    } else {

        let years = foundPlayer.season.map(({
            grade}) => grade);

        res.render("players/show", {player: foundPlayer, yearTotals: years });
    }
});

});

在创建一个变量来存储 years 的地图后,我正在传递来自 Mongo 的 player 的特定信息。这是我正在使用的 EJS 模板中的脚本标记:

    let xAxis = [<%= yearTotals %>];

查看 Chrome 控制台中的代码显示:

let xAxis = [Freshman, Sophomore, Junior, Senior]

所以传值成功;但是,我遇到了这个错误:

Uncaught ReferenceError: Freshman is not defined

我在这里错过了什么?在此先感谢您的帮助!

我明白了。

首先,我将 JSON.stringify 添加到数组中,如下所示:

let xAxis = <% JSON.stringify(yearTotals) %>

返回引文的 &#34 编码。下面解决了我的问题:

let xAxis = <%- JSON.stringify(yearTotals) %>;

希望这对以后的人有所帮助!