我使用Go编程语言执行HTTP页面。 GO中的函数如下所示:
func main(){
...
http.HandleFunc("/Page", func(w http.ResponseWriter, r *http.Request) {
t:=template.New("New template")
child_template := t.New("New child template")
_, _ = child_template.Parse(output) // output is from the omitted code
t, err = t.ParseFiles("HTML_template.html")
_ = t.ExecuteTemplate(w, "HTML_template.html", output)
}
}
如何自行刷新/页面?我尝试了以下方法,但它不起作用。
func main(){
...
http.HandleFunc("/Page", func(w http.ResponseWriter, r *http.Request) {
for{
t:=template.New("New template")
child_template := t.New("New child template")
_, _ = child_template.Parse(output) // output is from the omitted code
t, err = t.ParseFiles("HTML_template.html")
_ = t.ExecuteTemplate(w, "HTML_template.html", output)
time.Sleep(time.Millisecond*100)
}
}
}
我正在尝试创建一个动态图表,用于绘制每秒传入数据的数量。如果我继续刷新浏览器,轴也会重新加载,看起来很难看。 HTML_template.html看起来像这样
<script type = "text/javascript">
function plot(){
...
var data = [{{template "New child template"}}];
...
}
setInterval(func(){plot()},500);
</script>
答案 0 :(得分:1)
答案 1 :(得分:1)
只需添加refresh元标记,即可在没有Go,JavaScript,AJAX,SSE或Websockets的情况下完成此操作。添加
<meta http-equiv="refresh" content="3" />
进入您的网页<head>
会使其每隔3秒刷新一次。
答案 2 :(得分:0)
你真的真的需要使用websockets来做这件事,但是有一种快速而肮脏的方法。
在页面中添加一点jquery:
if (window.location.href.indexOf('reload')==-1) {
window.location.replace(window.location.href+'?reload');
}
但你真的需要使用websockets。