登录
首页 >  Golang >  Go问答

为什么我的 GO 服务器不在浏览器中显示我的 HTML 文件?

来源:stackoverflow

时间:2024-04-23 11:15:21 143浏览 收藏

golang学习网今天将给大家带来《为什么我的 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 文件?》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>