引号转换成字符串中的代码
Quotation mark converted into code in string
我有一个用例,其中对象通过 EJS 从服务器传递到客户端,如下所示:
res.render('mytemplate', {data: myobject});
<script type='text/javascript'>
<% if (typeof data !== 'undefined' && data) { %>
data: '<%= JSON.stringify(data) %>',
<% } %>
</script>
我遇到这个问题,在客户端代码中,返回的字符串化对象看起来像
{"key":"value"}
而它应该是
{"key":"value"}
因此,当我在客户端代码中执行 JSON.parse() 时,出现错误。如何在字符串中保留引号而不是特殊字符代码?谢谢!
我认为您需要在模板中使用 unescaped
方式:
data: '<%- JSON.stringify(data) %>',
注意 <%-
而不是 <%=
请参阅文档“标记”部分:https://ejs.co/#docs
我有一个用例,其中对象通过 EJS 从服务器传递到客户端,如下所示:
res.render('mytemplate', {data: myobject});
<script type='text/javascript'>
<% if (typeof data !== 'undefined' && data) { %>
data: '<%= JSON.stringify(data) %>',
<% } %>
</script>
我遇到这个问题,在客户端代码中,返回的字符串化对象看起来像
{"key":"value"}
而它应该是
{"key":"value"}
因此,当我在客户端代码中执行 JSON.parse() 时,出现错误。如何在字符串中保留引号而不是特殊字符代码?谢谢!
我认为您需要在模板中使用 unescaped
方式:
data: '<%- JSON.stringify(data) %>',
注意 <%-
而不是 <%=
请参阅文档“标记”部分:https://ejs.co/#docs