在我的应用程序中,我每秒轮询网络服务器以获取消息并将它们显示在前端。我使用 setInterval 来实现这一点。但是,只要用户停留在该页面上,即使没有数据,客户端也会继续使用请求轮询服务器。服务器确实会通过设置变量在不再生成消息时给出指示。我想过使用这个变量来清除间隔并停止计时器,但这没有用。在这种情况下我还能使用什么?我正在使用 jquery 和 django。这是我的代码:
jQuery: var 刷新 = setInterval( 功能 () { var toLoad = '/myMonitor'+' #content'; $('#content').load(toLoad).show(); }, 1000); // 每 1000 毫秒刷新一次 }); html: div id=内容在这里
我可以在每次刷新时访问 django 变量以在 html 中完成。如果有的话,我该如何设置 clearInterval ?
注意:堆栈溢出不允许我放 is > < 所以 html 是不完整的
谢谢
更新于 2010 年 3 月 16 日 ,我一定是做错了什么。但想不通。这是我的带有 clearTimer 的脚本,它不起作用。
var计时器=空; $(函数(){ if ("{{status}}" == "False") { 清除间隔(定时器); } 别的 { 计时器 = setInterval( 功能(){ var toLoad = '/myMonitor'+' #content'; $('#content').load(toLoad).show();} ,1000); // 每 1000 毫秒刷新一次 } });
status 是“views.py”(Django)中的一个布尔值集。谢谢一堆。