繁体   English   中英

express.js 应用程序的 EJS 模板:将数据传输到变量中

[英]EJS template for express.js app: transferring data into variable

我想将数据从我的 node.js(快速)应用程序传输到页面上<script>中的变量。

在服务器端我有

let tmp = JSON.stringify(await f(i));
console.log(tmp); //correct data [{"id":"729199920929701988","a ...}]
res.render('r.ejs', {"guilds": tmp});

然后在r.ejs我有

<input type='hidden' id='getter' value="<%= guilds %>">
<script>
    console.log(document.getElementById("getter").value); //correct value: [{"id":"729199920929701988","...}]
    let v = "<%= guilds %>";
    console.log(v);
    console.log("<%= guilds %>"); //dumb value with " changed to special symbols: [{&#34;id&#34;:&#34;729199920929701988&#34;,&#34...}]
</script>

就性能而言,制作额外标签的方法看起来并不是一个好方法。 至少它使浏览器创建一个需要时间的元素,特别是如果需要多个这样的元素。

我想直接在<script>标签中获取数据。 当直接在<script>标签中获取值时,应该有一种方法可以避免将"更改为&#34 (事实上,我不明白为什么会发生这种情况)。有人可以帮忙吗?

只需使用let v = <%- guilds %>; 而不是let v ="<%= guilds %>"; 告诉 ejs 你需要未转义的数据

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM