当前位置: > > > > 为什么我的 GO 服务器不在浏览器中显示我的 HTML 文件?
为什么我的 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 文件?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注米云公众号!
