【问题标题】:can not parse escaped ejs passed variable无法解析转义的 ejs 传递的变量
【发布时间】:2020-01-08 16:19:40
【问题描述】:

这是我当前的问题,所以我将字符串化数组从服务器传递给客户端,并尝试使用以下代码获取它

const stringifiedArray = "<%= array %>";

它正在返回字符串,但是当我尝试解析它时,它返回 JSON 错误“位置 N 中的意外令牌”,当我用反引号更改双引号和带减号的等式符号时:(反引号)&lt;%-array%&gt; (反引号) 它工作并完美解析,但我想要解析什么转义字符串?我该怎么做?

【问题讨论】:

  • "&lt;%- JSON.stringify(array) %&gt;" 是您要找的吗?
  • 不,我在服务器端对数组进行字符串化,我正在寻找在客户端解析它
  • 你提供的代码是服务器端代码还是客户端代码?我希望您在服务器上将JSON.stringify-ed 版本嵌入到呈现的脚本标签中。而在客户端,它只使用渲染的脚本,不需要解析。所以我不确定你想做什么。
  • 尝试将该变量打印到您的 ejs 模板中的注释中。例如:// &lt;%= array %&gt; 我们需要查看您尝试在引号中嵌入的实际值是什么。

标签: javascript node.js json express ejs


【解决方案1】:

使用

const stringifiedArray = <%- JSON.stringify(array) %>;

而不是

const stringifiedArray = "<%= array %>";

并且不要在服务器端对您的对象或数组进行字符串化

【讨论】:

    猜你喜欢
    • 2016-03-04
    • 2014-07-10
    • 1970-01-01
    • 2017-01-22
    • 2018-12-15
    • 1970-01-01
    • 2014-10-25
    • 2014-01-30
    • 1970-01-01
    相关资源
    最近更新 更多