如何在带有node.js,express和ejs的字符串中传递html标签

How to pass html tags in a string with node.js, express and ejs

本文关键字:字符串 ejs 标签 html express node js      更新时间:2023-09-26

我使用 Node.js 与 Express 和 EJS 和我想像这样将字符串中的 html 标签传递给浏览器:

listRequests.forEach(function(key) {
    messages.push("You have a message from <b>" + key.username + "</b>");
});

在我的代码后面:

res.render('/wallets', {
              messages     : messages,
              ...
           });

在我的 html 模板中,我有类似的东西

<h2>Messages</h2>
<% messages.forEach(function(message) { %>
<p><%= message %></p>
<% }); %>

问题:浏览器显示带有标签的文本,如 <b>John</b> 而不是 John

要使用 ejs 渲染原始 html,请使用 <%- your_var %> 。在您的情况下:

<h2>Messages</h2>
<% messages.forEach(function(message) { %>
<p><%- message %></p>
<% }); %>

渲染部分视图也是如此......等等,试一试