【发布时间】:2022-01-20 15:13:27
【问题描述】:
我正在尝试从服务器端获取一个对象并将其带到一个 ejs 文件中以在 javascript 中使用它。
javascript里面的对象是这样的:
var span = document.createElement("SPAN");
span.innerHTML = "<%= JSON.stringify(positions) %>";
var positions = span.innerText;
span.remove()
console.log(positions)
它会返回一个类似这样的字符串:
"
{
'0': { foo: foo },
'1': { foo: boo },
'2': { foo: doo }
}
"
我有办法吗?
谢谢!
【问题讨论】:
-
为什么?我的意思是,您可以解析 JSON,但是该对象已经在 EJS 中作为对象可用——为什么不从一开始就将其呈现为 JS?
-
有用的问题@DaveNewton。我确实看到
innerHTML被写入和innerText被读取,所以这将剥离标记。首先将 JSON 字符串分配给 HTML 可能是 ziv 的错误。我怀疑这是故意的。例如span.innerHTML=JSON.stringify({msg:"<b>hello</b>"})span.innerText-->{"msg":"hello"}小心!
标签: javascript node.js json object ejs