首頁  >  文章  >  後端開發  >  為什麼我的 HTML 輸出在 Go 中顯示為純文字?

為什麼我的 HTML 輸出在 Go 中顯示為純文字?

DDD
DDD原創
2024-10-27 08:47:30231瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn