在浏览器上呈现编码的HTML

3
我们正在向浏览器发送以下格式的HTML响应(其中包含很多JavaScript等内容,但在此问题中保持简化):
<html><body><b>Hello</b></body></html>


但是浏览器没有呈现HTML页面,而是显示了包含以下内容的字符串
<html><body><b>Hello</b></body></html> 

需要浏览器输出的是

你好

我们如何确保浏览器不会将html代码作为字符串显示,而是在页面上呈现它?


“这里放置空格是为了让它们呈现为我们的服务器发送的样子”——在Stackoverflow编辑器的GUI中有一个代码按钮,请使用它,而不是添加额外的空格来展示代码实际上看起来并非如此。 - Quentin
无论如何,我不理解这个问题。虽然响应不是一个有效的HTML文档,但它被呈现的方式符合我的预期(至少在我看来,你没有很好地传达你的输入、输出或期望输出)。 - Quentin
感谢@Quentin,我已经编辑了问题。好的,问题是浏览器显示HTML文本而不是呈现HTML。例如,如果我从服务器发送大量编码为此类信息的HTML和JS函数信息,则想法是浏览器应该呈现HTML页面而不是显示该数据。 - NiksP
浏览器正在显示一个HTML页面。您正在发送HTML代码以呈现<html></html>。听起来您想将其呈现为纯文本而不是HTML。 - Quentin
@Quentin,好的。有点儿是这样。我已经进一步更新了问题,让它更加清晰,意识到它有点混乱。 - NiksP
1个回答

1
在HTML中,<字符表示“开始标记”,但您正在使用&lt;,表示“显示少于字符”。 < p>您在>/上也有类似的问题。

请使用在HTML中具有特殊含义的字符。不要将它们编码为字符引用。


谢谢,问题是我们必须按照所述的编码方式发送响应,但希望浏览器能够理解它是要呈现的HTML而不是要显示的字符串。在问题中更新了一个示例。 - NiksP
1
你需要解决真正的问题(即导致你编码 HTML 但不希望浏览器将其视为编码的任何问题)。你无法让浏览器以不同的方式处理它。 - Quentin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接