Go के HTML आउटपुट इंटरप्रिटेशन मुद्दे की व्याख्या
गो में, HTTP के माध्यम से HTML आउटपुट भेजने से कभी-कभी आउटपुट को प्लेनटेक्स्ट के रूप में व्याख्या किया जा सकता है। ऐसा तब होता है जब प्रतिक्रिया में सामग्री प्रकार निर्दिष्ट करने वाले उपयुक्त हेडर का अभाव होता है। http.अनुरोध) { टी := टेम्पलेट.नया("परीक्षण") t, _ := template.ParseFiles("base.html") t.निष्पादित(w, "") }) सर्वर := &http.सर्वर{ पता: ":9999", हैंडलर: अनुरोध हैंडलर, रीडटाइमआउट: 10* समय.दूसरा, राइटटाइमआउट: 10 * समय.दूसरा, मैक्सहेडरबाइट्स: 1
base.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 जब आप प्रस्तुत पृष्ठ को लोड करते हैं, तो आप देखेंगे कि HTML रेंडर होने के बजाय शब्दशः प्रदर्शित होता है। ऐसा इसलिए है क्योंकि प्रतिक्रिया में कंटेंट-टाइप हेडर का अभाव है, जिसे टेक्स्ट/एचटीएमएल पर सेट किया जाना चाहिए।
base.html
w.Header().Set("Content-Type", "text/html")
यह हेडर ब्राउज़र को सूचित करता है कि प्रतिक्रिया में HTML शामिल है सामग्री, इसे HTML को तदनुसार प्रस्तुत करने की अनुमति देती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3