【问题标题】:How to display html from a mongodb database in nodejs如何在nodejs中显示来自mongodb数据库的html
【发布时间】:2018-11-06 01:03:00
【问题描述】:

我一直在试图弄清楚如何在 mongodb 表中显示 html 标签。每次我通过浏览器查看数据时,它都会显示 html 的文本。示例:

我在 mongodb 数据库表中有这个:

测试 在网页上查看时应显示为:Test

但是,它显示 Test

【问题讨论】:

  • 如何将 HTML 从数据库中获取到浏览器?您是否使用模板引擎,只是将其作为字符串发送等...?
  • 是的,我正在使用 ejs.......

标签: node.js database


【解决方案1】:

您的问题

我以前没有使用过EJS,但我假设它与您如何将数据库中的 HTML 字符串插入 EJS 模板有关。

在大多数模板引擎中,简单地插入包含 HTML 标记的字符串将导致引擎转义 HTML 而不是渲染它。

示例
输入 > <div class='box'> <p class='item'>Hello World</p></div>
输出><div class='box'> <p class='item'>Hello World</p></div>

这是正常的,有很多原因,其中之一就是安全。

解决方案

如果实际上是 EJS 转义 HTML 的问题,您必须指示 EJS 不要转义它。我以前从未使用过 EJS,但在谷歌上快速搜索 EJS escape html 得到了这个结果 How to escape HTML in node.js EJS view?

供日后参考

虽然默认情况下 EJS 会转义您的 HTML,但堆栈溢出不会。当您在问题中插入 <strong> 时,堆栈溢出将其呈现为 HTML。

要让 StackOverflow(和大多数其他降价阅读器)像我上面所做的那样按字面意思呈现任何 HTML 标记,请将 HTML 包装在 graves `.

此外,请尝试在您的问题中提供更多信息。信息越多,就越容易推断出问题的可能根源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-02
    • 2023-03-24
    • 2020-07-09
    • 2013-02-15
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 2016-08-28
    相关资源
    最近更新 更多