0

我有一个路由设置,它以动态 HTML 模板响应。

package main

import (
    "net/http"
    "html/template"
)

func index(w http.ResponseWriter, r *http.Request) {
    showWwResult, _ := GetWw()
    showHoursResult, _ := GetHours()

    type Data struct {
        ShowWwResult   []IssueResult
        ShowHoursResult Page
    }

    data := Data{showWwResult, showHoursResult}

    var templates = template.Must(template.ParseFiles("templates/index.html", "templates/ww.html", "templates/hours.html"))
    templates.ExecuteTemplate(w, "indexPage", data)
}

我的问题是,收集数据需要很长时间,并且页面在呈现 HTML 之前等待它返回。

在我等待和完成时,我怎样才能让它返回一些东西,任何东西?有什么方法可以显示我的 HTML 模板的静态部分,然后在它们准备好时填充页面?GetWw()GetHours()ShowWwResultShowHoursResult

4

1 回答 1

2

不,最好的方法是提供模板,然后使用 ajax 调用将其填充到一个端点,该端点返回 json 以及您要使用的数据。

于 2017-07-27T01:02:25.447 回答