首页 > 后端开发 > Golang > 正文

为什么我的 HTML 输出在 Go 中显示为纯文本?

DDD
发布: 2024-10-27 08:47:30
原创
231 人浏览过

Why Is My HTML Output Displaying as Plain Text in Go?

意外的 HTML 输出为纯文本

当 HTML 输出被解释为纯文本而不是作为 HTML 接收时,会出现常见的误解。此问题源于对 Go 的 HTTP 处理程序的默认行为的误解。

在提供的代码示例中,请求处理程序配置为在端口 9999 生成并显示名为“base.html”的 HTML 模板。但是,加载页面后,HTML 标记会逐字显示在预格式化块中。这个意外的结果是由于服务器将模板渲染为纯文本。

要纠正此问题,需要显式设置 HTTP 响应的 Content-Type 标头,以通知客户端输出是 HTML。这确保了浏览器可以解释 HTML 内容并正确渲染它。

以下修改应该可以解决问题:

<code class="go">requestHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    // Set the Content-Type header
    w.Header().Set("Content-Type", "text/html")
    
    t := template.New("test")
    t, _ := template.ParseFiles("base.html")
    t.Execute(w, "")
})</code>
登录后复制

实施此更改后,应该渲染 HTML 模板并在浏览器中按预期显示。

以上是为什么我的 HTML 输出在 Go 中显示为纯文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!