」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 Go HTML 輸出顯示為純文字?

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

發佈於2024-11-24
瀏覽:397

Why is My Go HTML Output Displayed as Plain Text?

Go 的 HTML 輸出解釋問題解釋

在 Go 中,透過 HTTP 發送 HTML 輸出有時會導致輸出被解釋為純文字。當回應缺少指定內容類型的適當標頭時,就會發生這種情況。

請考慮以下程式碼:

requestHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    t := template.New("test")
    t, _ := template.ParseFiles("base.html")
    t.Execute(w, "")
})

server := &http.Server{
    Addr:           ":9999",
    Handler:        requestHandler,
    ReadTimeout:    10 * time.Second,
    WriteTimeout:   10 * time.Second,
    MaxHeaderBytes: 1 

base.html 包含以下內容:



    
        base.html
    

載入所提供的頁面時,您會發現 HTML 是逐字顯示的,而不是渲染的。這是因為回應缺少 Content-Type 標頭,應將其設為 text/html。

要解決此問題,您需要在執行範本之前新增以下行:

w.Header().Set("Content-Type", "text/html")

此標頭通知瀏覽器回應包含HTML 內容,允許其渲染HTML 因此。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3