duanchun5520 2017-07-26 23:06 采纳率: 0%
浏览 210
已采纳

Golang在等待数据加载时显示静态HTML模板

I have a route set up which responds with a dynamic HTML template.

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)
}

My problem is, it takes a very long time to gather the data and the page waits for this to return before rendering the HTML.

How can I get it to return something, anything, while I wait for GetWw() and GetHours() to finish? Is there any way to display the static part of my HTML template and then populate the page with ShowWwResult and ShowHoursResult when they're ready?

  • 写回答

1条回答 默认 最新

  • doushua7737 2017-07-27 01:02
    关注

    No, the best way is to serve the template then populate it using ajax calls to an endpoint that returns json with the data you want to use.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我这模型写的不对吗?为什么lingo解出来的下面影子价格这一溜少一个变量
  • ¥50 树莓派安卓APK系统签名
  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波