【发布时间】:2021-11-18 07:45:10
【问题描述】:
所以我正在制作一个应用程序,它需要将一个数组从服务器传递到客户端。我已经尝试过
// Server
app.get('/', (req,res) => {
res.render('index', {
data: ["Hello"]
})
})
// EJS
<script>
const data = '<%- JSON.stringify(locals.data) || [] %>'
</script>
然后它不是 ejs 中的数组所以我尝试了
// Server
app.get('/', (req,res) => {
res.render('index', {
data: ["Hello"]
})
})
// EJS
<script>
const data = JSON.parse('<%- JSON.stringify(locals.data) || [] %>')
</script>
直到我传递了一个包含' 的数组之前,我是否可以将数组传递到 javascript 中但遇到某些章程问题?
这是使用不和谐机器人来获取服务器并将它们显示在页面上。所以我想确保它可以显示所有字符。
如果我将' 更改为" 或`,它仍然可能导致某些输入出现问题。
谢谢。
【问题讨论】:
-
好吧,最好的方法是使用
JSON.parse(<%- JSON.stringify(locals.data) || [] %>),因为即使看起来只是语法错误,ejs 也会自动呈现它。 -
谢谢,但我必须删除
const data = JSON.parse(<%- JSON.stringify(locals.data) || [] %>)并将其保留为const data = <%- JSON.stringify(locals.data) || [] %> -
哦,是的,它刚刚从我的脑海中溜走!
标签: javascript node.js express ejs