Go で HTML 出力がプレーン テキストとして表示されるのはなぜですか?

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 テンプレートがレンダリングされ、ブラウザ内で期待どおりに表示されます。

以上がGo で HTML 出力がプレーン テキストとして表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!