nodejs keystone:停止html实体替换“<”用“<”

时间:2014-11-05 15:27:32

标签: node.js pug keystonejs

想要使用来自数据库的html呈现页面部分。使用keystone和默认的jade&蒙戈。

要在我的init(view.on(' init',function(next){)函数中进行测试,我有

 locals.intro = "my intro<b>bolder 2</b>";

在我的jade模板源代码中,这会通过转换的开始和结束角括号进行渲染:

  my intro&lt;b&gt;bolder 2&lt;/b&gt;

如何阻止这种情况?类似地,对于来自数据库的字段,console.log显示预期值,如预期的那样:

  </b>

但在页面上已经转义。

注意:不要认为它与decodeURIComponent有关,因为它不想在服务器上解码,但希望服务器在发送到浏览器之前停止编码,部分页面渲染。

1 个答案:

答案 0 :(得分:3)

您可以使用!

请求Jade不要转义字符
// if intro = "<b> bolder </b>"

!= intro // will render as <b> bolder </b>

但是,如果任何未转义内容的来源不受信任(即用户),请小心,因为这可能导致非常糟糕的事情。