我正在使用 Nodejs 和 ejs 模板。我的 Nodejs 后端中有一个数组,如下所示:
array= [false,false,false,false]
现在,如果我尝试将其发送到我的 ejs,执行类似的操作
res.render("home",{myarray:array}
在我的 ejs(前端)中
let myarray = <%- myarray %>
我得到:
Uncaught SyntaxError: Unexpected token false
经检查显示
let myarray = false,false,false,false
但是,如果我改变,在我的后端
res.render("home",{myarray:array}
至
res.render("home",{myarray:JSON.stringify(array)}
一切正常。 Myarray 现在再次成为数组:
[false,false,false,false]
我只是不明白为什么当我无法发送常规数组时 JSON.stringify 帮助我从后端向前端发送数组。
最佳答案
您可以在 ejs 中使用直接数组,但必须在 ejs 中使用循环。如果您通过 JSON.stringify 发送,您可以通过 JSON.parse() 恢复;
关于javascript - 为什么 Json stringify 在使用 Express 向前端发送数组时有帮助?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58037728/