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