如何将数据从 node.js 传递到本地 javascript,同时保持数组功能?

how to pass data from node.js to local javascript, keeping array capabilities?

如何将数据从 node.js 传递到本地 javascript,同时保持数组功能?

const query = db.query(sql, post, (err, results) => {
        if (err) {
            throw err;
        } else if (results.length >= 1) {
            
            console.log(results);
            const listResults = [];

            for (let i = 0; i < results.length; i++) {
                
                listResults.push(results[i].ENwords);
                listResults.push(results[i].PLwords);
            }
            
            res.render('flashcards', {layout: 'flashcards', listResults});

在flashcard.ejs中:

<script>

let listWords = <%= listResults %>;
console.log(listWords);

</script>

我收到一条错误消息,指出列表中的第一项是“未定义”。

这个我也试过了。这有效,但值不再是数组:

<script>

let listWords = "<%= listResults %>";
console.log(listWords);

</script>

在这种特殊情况下,重新处理这些值是没有意义的,因为那里存储了不同的数据,不可能以适当的方式划分它们来制作新列表。

将数组字符串化 Node.js

let listWords = <%- JSON.stringify(listResults) %>;

JSON.stringify 创建字符串的 JSON 表示,JSON 可用作数组文字。