Maison >développement back-end >Golang >Pourquoi ma sortie HTML s'affiche-t-elle sous forme de texte brut dans Go ?
Sortie HTML inattendue sous forme de texte brut
Une idée fausse courante survient lorsque la sortie HTML est interprétée comme du texte brut au lieu d'être reçue au format HTML. Ce problème provient d'un malentendu dans le comportement par défaut du gestionnaire HTTP de Go.
Dans l'exemple de code fourni, un gestionnaire de requêtes est configuré pour générer et afficher un modèle HTML nommé "base.html" sur le port 9999. Cependant , lors du chargement de la page, le balisage HTML apparaît textuellement dans un bloc préformaté. Ce résultat inattendu est dû au rendu du modèle sous forme de texte brut par le serveur.
Pour remédier à ce problème, il est nécessaire de définir explicitement l'en-tête Content-Type de la réponse HTTP pour informer le client que la sortie est HTML. Cela garantit que le navigateur peut interpréter le contenu HTML et le restituer de manière appropriée.
La modification suivante devrait résoudre le problème :
<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>
Après avoir implémenté cette modification, le modèle HTML doit être rendu et affiché comme prévu dans le navigateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!