如何在 EJS 中添加未转义的字符串化 JSON?
How to add unescaped stringified JSON in EJS?
我正在尝试在 EJS 模板中使用 JavaScript 发送 postMessage
,我需要发送一个简单的字符串化 JSON 对象,如下所示:
{ "id": "1234567890" }
当我尝试在 EJS 模板中传递此对象时,双引号 ("
) 转义为 "
。这是我的模板:
<script>
if (window.opener) {
window.opener.postMessage('<%= JSON.stringify(user) %>', "http://localhost:3000")
window.close()
}
</script>
字符串化对象变成了这个:
"{"id":"1234567890"}"
如何防止特殊字符被 EJS 转义?
原来我需要将 <%=
替换为 <%-
才能使用未转义的字符。
所以我的代码必须是:
<script>
if (window.opener) {
window.opener.postMessage('<%- JSON.stringify(user) %>', "http://localhost:3000")
window.close()
}
</script>
我正在尝试在 EJS 模板中使用 JavaScript 发送 postMessage
,我需要发送一个简单的字符串化 JSON 对象,如下所示:
{ "id": "1234567890" }
当我尝试在 EJS 模板中传递此对象时,双引号 ("
) 转义为 "
。这是我的模板:
<script>
if (window.opener) {
window.opener.postMessage('<%= JSON.stringify(user) %>', "http://localhost:3000")
window.close()
}
</script>
字符串化对象变成了这个:
"{"id":"1234567890"}"
如何防止特殊字符被 EJS 转义?
原来我需要将 <%=
替换为 <%-
才能使用未转义的字符。
所以我的代码必须是:
<script>
if (window.opener) {
window.opener.postMessage('<%- JSON.stringify(user) %>', "http://localhost:3000")
window.close()
}
</script>