0

我正在尝试使用 Nodejs 和 Pug 将字符串数组从服务器端传递到客户端,但不断收到诸如“SyntaxError:预期表达式,得到'&'”或“SyntaxError:标识符在数字文字之后立即开始”之类的错误

服务器正在运行 v10.15.0 和 PUG v2.0.3。我尝试将数组的每个元素封装在引号中。使用 JSON 尝试了几种不同的方法,但不断收到相同的错误。当我在控制台中打印数组时,使用下面的代码得到(只有 4 个元素,为了简短起见,在此处删除): [ '"2017-04-01T02:43:39.000Z"', '"2017-04-01T06: 37:05.000Z"', '"2017-04-01T10:30:22.000Z"', '"2017-04-01T14:23:41.000Z"',...] 我此时真的迷路了,可以请你帮忙?

//Server side
client.execute(query,[], function(err, result){
        if(err){
            res.status(404).send({msg: err});
        } else {
            for (i in result.rows){
                currentDate = new Date(result.rows[i].event_time);
                dates.push('"'+ currentDate.toJSON()+'"');
                //dates.push(currentDate.toJSON());

            }
            if (result.rows[0] != null) {
                res.render(page, {
                    datesA: dates,
                    //datesA: JSON.stringify(dates),
                });
            else {
                res.status(404).send({msg: err});
            }
        }
    });
//PUG
var dates =JSON.parse(#{datesA});
//var dates = JSON.parse(#{datesA});
//var dates = JSON.parse(JSON.stringify(#{datesA});
//var dates = #{datesA};
4

1 回答 1

1

在 pug 文件中试试这个(在脚本部分):

var dates = !{JSON.stringify(datesA)};
于 2019-04-22T12:00:57.517 回答