我正在尝试使用Beego框架建立一个简单的博客,但是我显示博客帖子的功能却出现错误“ [HTTP] http:多个响应。WriteHeader调用”
这绝对是“ loadPost”功能,因为没有它,应用程序就可以正常工作。
func (this *BlogController) GetBlog() {
this.Data["PostName"] = this.Ctx.Input.Param(":id")
p, err := loadPost(this.Ctx.Input.Param(":id"))
if err != nil {
fmt.Println(err)
}
this.Data["Website"] = "Blog"
this.Data["Title"] = p.Title
this.Data["Body"] = p.Body
this.TplName = "blog/blog-postview.tpl"
}
和loadPost函数:
func loadPost(title string) (*BlogPost, error) {
filename := "views/blog/posts/" + title + ".json"
body, err := ioutil.ReadFile(filename)
if err != nil {
return nil, err
}
var blogpost BlogPost
json.Unmarshal([]byte(body), &blogpost)
return &BlogPost{Title: title, Body: blogpost.Body}, nil
}
“ GetBlog”路由器从URL接收“ id”参数,然后将其输入到loadPost()函数中,然后在其中loadPost()函数找到与“ id”参数匹配的.json文件并将其放入放入名为“ BlogPost”的结构中,然后将其返回到GetBlog()函数并在其中存储模板可以访问它的值。但是,使用此代码时,出现运行时错误,该错误在本文标题中显示。我在这里做什么错了?