【发布时间】:2021-07-11 21:08:50
【问题描述】:
我想将对象 dataO 从 Node.js/Express/EJS 传递到客户端。
等等节点JS端脚本标签:
var dataO = {"first":[20000, 14000, 12000, 15000, 18000, 19000, 22000], "second":[12000, 11000, 18000, 12000, 19000, 14000, 26000]};
var dataP = JSON.stringify(dataO);
app.get("/", function(req, res){
res.render("index", {sStatus, dataP});
});
并尝试在客户端JSON.parse:
var dataX = JSON.parse("<%= dataP %>");
但是在客户端我得到了错误:Uncaught SyntaxError: Unexpected token & in JSON at position 1
和dataP 值为:"{&#34;first&#34;:[20000,14000,12000,15000,18000,19000,22000],&#34;second&#34;:[12000,11000,18000,12000,19000,14000,26000]}"
我删除了&#34,但仍然出现同样的错误。
那些便便的家伙在哪里? 谢谢
【问题讨论】:
-
在
<script>标记中,您不能/不应该 html-entity-escape 字符。你唯一需要逃离的就是</script>。也尽量不要发出一个 JSON 字符串(你需要 js-string-escape)并在客户端解析它,而只是立即发出一个 JS 对象文字。请参阅 ejs 文档了解如何执行此操作。
标签: javascript node.js json ejs