javascript - 为什么 Json stringify 在使用 Express 向前端发送数组时有帮助?

标签 javascript node.js

我正在使用 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/

相关文章:

javascript - Axios.js 和 RestFul API 有什么区别?

javascript - 下拉菜单减少全局变量范围

node.js - 使用 mongoose 在 Heroku 上托管 Express 应用程序时出现错误

javascript - 编写 .d.ts 文件以便我可以与 JavaScript 和 TypeScript 共享常量?

javascript - 从本地主机调用 api 的生产环境

javascript - MongoDB 模型不通过架构嵌入对象连接

Javascript 树无法正常工作

使用 Dtrace 进行 Node.js 分析时不显示函数名称

javascript - JsonWebToken错误: jwt must be provided

javascript - Angular 2 select 不绑定(bind)(第二次迭代)