javascript - HTML 未呈现 - Express

标签 javascript html node.js express

我正在为我的网站制作一个简单的博客应用程序并从数组中获取帖子。当我尝试在 posts 中使用 HTML 标签时,我发现它们没有呈现,页面的其余部分正常

帖子:

{"post_id":1, 
 "post_title":"Title", 
 "post_body":"This is a test text. <b> I'm testing HTML.</b> "} ....

页面中的输出是:

This is a test text. <b> I'm testing HTML.</b>

服务器端:

var hbs = require('hbs');

// view engine setup
app.set('view engine', 'html');
app.engine('html', hbs.__express);

app.get('/post/:id', function(req, res) {
    res.render('post_theme',
    {post, title etc...});
    });

HTML:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  <title>Page</title>
  <!-- font css -->
  <link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400' rel='stylesheet' type='text/css'>
  <link rel="stylesheet" type="text/css" href="/lib/semantic/build/packaged/css/semantic.css">
  <link rel="stylesheet" type="text/css" href="/stylesheets/style.css">
  <!-- js -->
  <script src="/javascripts/jquery.js"></script>
  <script src="/lib/semantic/build/packaged/javascript/semantic.js"></script>


</head>
<body id="home">
 <div class="ui menu" >
....
</div>

        <h3 class="ui header">{{title}}</h3>
        <p>{{body}}</p>

</body>


</html>

为什么 HTML 不渲染?

(实际上我不确定这是 Express 问题,我是 Web 开发新手。)

<小时/>

解决方案:

根据Andrew Counts的回答,我使用了三个括号,问题就解决了。 {{{...}}}

最佳答案

在 Handlebars 模板中,HTML 代码会自动从变量中转义,以确保存储的值不会破坏页面代码流。如果您确定确实想要输出存储在变量中的 HTML,并且它不会破坏您的页面,您可以通过使用三大括号 {{{ }}} 来指示 Handlebars 不要转义 HTML ,或将值存储为“Handlebars.SafeString”类型。

http://handlebarsjs.com/

关于javascript - HTML 未呈现 - Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25367820/

相关文章:

javascript - 启动时无法在所有区域选择 Canvas

html - 内联表单 twitter bootstrap

javascript - 使用express包和EJS模板引擎在node.js服务器上的两个网页之间建立href链接

node.js q 不等待延迟 promise 被解决

javascript - 并非所有 d3 点都显示在传单 map 上的正确位置

javascript - VueJS 按类别减少 JSON 返回数据并求和关联值

javascript - TinyMCE v3.4.5 仍在删除 <a href ="#"> 即使在 extended_valid_elements 中强制 <a>

javascript - 如果我包含标题,CSS/JS 将无法工作

php - HTML 未加载到 PHP 文档中

javascript - JS - 如何将所有键转换为其值(从对象)