在我的应用程序中,我每秒轮询网络服务器以获取消息并将它们显示在前端。我使用 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)中的一个布尔值集。谢谢一堆。