渲染原始HTML与Express的响应

我想知道如何呈现一个原始的HTMLstring与Express的响应。

我的问题与其他人不同,因为我不想呈现原始的HTML模板; 而是我只想渲染一个原始的HTMLstring。

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

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

但是当我将浏览器指向这条路线时,我看到一个超链接,而不是原始的HTMLstring。 我试图设置内容types为文本: res.setHeader('Content-Type', 'text'); 无济于事。

有什么build议么?

只需在它周围添加标签

 someHTML = "<plaintext>" + someHTML + "</plaintext>"; 

只是谨慎的一句话,明文被认为是过时的,这意味着浏览器供应商没有义务执行它们。 但是,它仍然适用于主stream浏览器。

另一种方式,你可以做到这一点

 someHTML = someHTML.replace(/</g, '&lt;').replace(/>/g, '&gt;'); 

对于到这里来的其他人 这对我来说最合适:

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

编辑:

如果你的问题是逃避某些字符,然后尝试使用模板文字: 模板文字