【问题标题】:How to render html code stored as string?如何呈现存储为字符串的html代码?
【发布时间】:2025-11-29 21:10:01
【问题描述】:

您好,我正在尝试通过 res.render 发送存储在 mongo db 中的字符串内容。但是,如果我发送这个字符串后检查,标签以字符串的形式出现,并没有出现在html中,所以我想知道如何解决。

 router.get("/:id", async function (req, res) {
  var article = await Article.findById(req.params.id); 
  console.log(article);
  res.setHeader("Content-type", "text/html");
  res.render("articles/article", { article: article });
});

article = "<p>내용입니다.</p>"

【问题讨论】:

    标签: html string mongodb render


    【解决方案1】:

    这里是工作示例。您必须安装 pug 模板引擎或任何其他模板引擎。见测试。 pug 文件,注意如果变量是 HTML 内容,那么我们必须使用语法“!{para}”,或者如果变量是一个简单的字符串,那么我们可以使用语法“#{para}”。

    所以文件夹结构应该是这样的

    app.js 视图 ->test.pug

    // app.js file
    var express = require('express');
    var app = express();
    var PORT = 3000;
    app.set('view engine', 'pug');
    app.use('/', function(req, res, next){
        res.render('test', {para : `<p>This is paragraph</p>`});
    });
      
    app.listen(PORT, function(err){
        if (err) console.log(err);
        console.log("Server listening on PORT", PORT);
    });
    
    // html file test.pug
    
    <div>!{para}</div>
    

    【讨论】:

    • 谢谢!在写答案的过程中,我通过ejs解决了这个问题。不过我会试试你教我的方法,谢谢
    最近更新 更多