使用 Express 渲染原始 html

新手上路,请多包涵

我想知道如何在 Express 的响应中呈现原始 HTML 字符串。

我的问题与其他问题不同,因为我不想渲染原始 HTML 模板;相反,我只想呈现一个原始 HTML 字符串。

这是我在路由文件中尝试过的。

 router.get('/myRoute', function (req, res, next) {
  var someHTML = "<a href=\"foo\">bar</a>"
  res.send(someHTML);
});

但是当我将浏览器指向这条路线时,我看到的是一个超链接,而不是原始的 HTML 字符串。我试图通过执行以下操作将内容类型设置为文本: res.setHeader('Content-Type', 'text'); 无济于事。

有什么建议么?

原文由 mc9 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 726
2 个回答

对于到达这里的其他人;这对我最有效:

 res.set('Content-Type', 'text/html');
res.send(Buffer.from('<h2>Test String</h2>'));

编辑:

如果您的问题是转义某些字符,请尝试使用模板文字: 模板文字

原文由 Richard Dunn 发布,翻译遵循 CC BY-SA 4.0 许可协议

在发送之前对 HTML 进行编码。有人为此做了一个要点: https ://gist.github.com/mikedeboer/1aa7cd2bbcb8e0abc16a

原文由 Saiansh Singh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题