当前位置: > > > > 为什么我的 GO 服务器不在浏览器中显示我的 HTML 文件?
来源:stackoverflow
2024-04-23 11:15:21
0浏览
收藏
今天将给大家带来《为什么我的 GO 服务器不在浏览器中显示我的 HTML 文件?》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!
问题内容
我正在做 go 课程,每当我运行服务器代码时,我都不会收到任何错误,但是当我尝试在浏览器中输入“localhost:8080”时,我会收到一条消息“本地主机未发送任何数据。err_empty_respons”。我的代码与课程完全相同,只是我使用的是 html 而不是 tmpl。为什么我的 html 没有在浏览器中显示?
package main import ( "fmt" "html/template" "net/http" ) const portNumber = ":8080" func Home(w http.ResponseWriter, r *http.Request) { renderTemplate(w, "home.html") } func About(w http.ResponseWriter, r *http.Request) { } func renderTemplate(w http.ResponseWriter, html string) { parsedTemplate, _ := template.ParseFiles("./templates" + html) err := parsedTemplate.Execute(w, nil) if err != nil { fmt.Println("error parsing template:", err) return } } func main() { http.HandleFunc("/", Home) http.HandleFunc("/about", About) fmt.Println(fmt.Sprintf("Starting App on port %s", portNumber)) _ = http.ListenAndServe(portNumber, nil) }
正确答案
parsefiles 方法采用路径。您在 "./templates"
之后缺少 /
。所以应该是:
parsedTemplate, _ := template.ParseFiles("./templates/" + html)
今天关于《为什么我的 GO 服务器不在浏览器中显示我的 HTML 文件?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注公众号!