我们整个系统都是ajax实现的,但是其中有一些页面需要用到定时取数据,所以用了
js的 setInterval函数,这个函数只有在手动调用了clearInterval(threadid); 或者关闭页面后才会停止
但是我们的整个系统都是用ajax加载dom的,不会有关闭页面的情况,所以这个请求点击到别的页面的时候还一直在发送
怎么停止呢,在同一的接口处停止这个ID
下面贴上我的代码,一看就明白了
//ajax刷新数据
<span style="font-size:18px;">
<span style="color:#990000;">function get_ajax_data()
{
var maxdate = $("input[name='maxdate']").val() ;
$.post(
'/visitor/realtime/index',
{'real_ajax':1,'maxtime':maxdate},
function(data)
{
$("input[name='maxdate']").val(data.maxdate) ;
if(data.status == 1)
{
var html = "<li><span>"+data['data'].realname+"</span><span>"+data['data'].report_name+"</span><span>"+data['data'].ip+"</span><span>"+data['data'].date+"</span></li>" ;
$('.infoList li').first().before(html) ;
$('.next').click() ;
}
},
'json'
);
}
window.queen_id = setInterval(get_ajax_data,6000) ;</span></span>
<span style="font-size:18px;color:#990000;">
</span>
<pre name="code" class="javascript"><span style="font-size:18px;color:#990000;">//清楚所有页面中的ajax请求
if(typeof window.queen_id != 'undefined')
window.clearInterval(window.queen_id) ;</span>