渲染原始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, '<').replace(/>/g, '>');
对于到这里来的其他人 这对我来说最合适:
res.set('Content-Type', 'text/html'); res.send(new Buffer('<h2>Test String</h2>'));
编辑:
如果你的问题是逃避某些字符,然后尝试使用模板文字: 模板文字