NodeJS 默认将传递的 html 内容转换为实体
NodeJS converts passed html content to entities by default
在我的网站中,我想要一个类别树。为了让它工作,我需要通过递归循环将它们排列在父子树中。我所做的是从数据库中获取类别数据,运行 循环并在 NodeJS 代码中生成输出 HTML 内容。然后我将生成的 HTML 字符串传递到我的 EJS 文档以在浏览器中显示。
现在问题来了:只要在 NodeJS 函数中,生成的字符串就是它应该的样子。但是传递的字符串中有一些字符转换成了身份,我找不到将它们转换回来的方法。例如:
<h1>Hello world</h1>
变成
<h1>Hello world</h1>
在 ejs 文档中,但是当我尝试在某些 js 文件中使用 console.log 打印字符串时,它会打印正确的 HTML 字符串而不是转换后的字符串。
您应该使用 <%-
作为开始标记,因为它将未转义的值输出到页面中。
有关更多参考,请参阅 EJS 文档中的 'Tags' 部分
在我的网站中,我想要一个类别树。为了让它工作,我需要通过递归循环将它们排列在父子树中。我所做的是从数据库中获取类别数据,运行 循环并在 NodeJS 代码中生成输出 HTML 内容。然后我将生成的 HTML 字符串传递到我的 EJS 文档以在浏览器中显示。
现在问题来了:只要在 NodeJS 函数中,生成的字符串就是它应该的样子。但是传递的字符串中有一些字符转换成了身份,我找不到将它们转换回来的方法。例如:
<h1>Hello world</h1>
变成
<h1>Hello world</h1>
在 ejs 文档中,但是当我尝试在某些 js 文件中使用 console.log 打印字符串时,它会打印正确的 HTML 字符串而不是转换后的字符串。
您应该使用 <%-
作为开始标记,因为它将未转义的值输出到页面中。
有关更多参考,请参阅 EJS 文档中的 'Tags' 部分