gpt4 book ai didi

node.js - 将文档字段呈现为 HTML

转载 作者:太空宇宙 更新时间:2023-11-03 23:40:42 24 4
gpt4 key购买 nike

我正在使用 NodeJS、Express、MongoDB 和 Swig 创建我的第一个示例代码。这是一个小型博客应用程序,我正在尝试呈现现有帖子,但是,帖子正文包含 HTML 标签,并且它们被打印为文本。

如何将它们呈现为 HTML?

这是我的观点(main.html):

<p>
<h3>{{title}}</h3>
<h6><i>{{postedAt}}</i></h6>
</p>
<p>
{{content}}
</p>

这是 app.js:

var express = require('express');
var cons = require('consolidate');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var Server = require('mongodb').Server;


app.engine('html', cons.swig);
app.set('view engine', 'html');
app.set('views', __dirname + '/views');

var mongoClient = new MongoClient(new Server('localhost', 27017,
{ 'native_parser' : true }));

var db = mongoClient.db('blog');

// Base URL - Show posts
app.get('/', function (request, response) {
var cursor = db.collection('posts').find().sort({'postedAt': 1});

cursor.each(function (err, doc) {
if (err) throw err;

if (doc == null) {
return db.close();
}

response.render('main', doc);
});
});



app.get('*', function (request, response) {
response.send('Page not found', 404);
});

mongoClient.open(function (err, client) {

if (err) throw err;

app.listen(8080);
console.log('Express started listening on port 8080');
});

最佳答案

Swig HMTL 默认转义所有变量。

如果您确定相关内容是安全的(即 HTML 不包含恶意 JavaScript),那么您可以使用 the safe filter 关闭 HMTL 转义:

<p>
<h3>{{title}}</h3>
<h6><i>{{postedAt}}</i></h6>
</p>
<p>
{{content|safe}}
</p>

关于node.js - 将文档字段呈现为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24337959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com