yelanggu
setInterval(function(){
//ajax 请求后台数据
},1000);
这个是A页面的定时器
然后我在A页面通过其他请求跳转到其他页面之后
后台发现A页面的定时器的那个请求仍然在执行
为什么会出现这种情况呢?
怎么能让我跳转到其他页面之后定时任务不执行呢?
yj327243832 | 浏览 1987 次  2014-08-22 17:26
2014-08-23 11:03 最佳答案
 

个人感觉如果A页面已经跳转到其他页面,那么那个定时器的请求应该不会再被执行,因为A页面在浏览器中应该已经被销毁。

觉得你应该花些时间来测试一下,确定是否为该A页面所发的请求,比如在请求上打上请求时间的值,从而有助于你分析。

如果仅仅要不执行定时任务,那么可以在页面跳转之前调用window.clearInterval将那个定时器清除掉。

1
2
3
4
5
var g_intervalId;   // 这要定义成一个全局变量
...
g_intervalId = window.setInterval(...);   // 创建定时执行程序
...
window.clearInterval(g_intervalId);    // 在跳转之前调用,以清除定时执行程序

分类:

技术点:

相关文章:

  • 2021-09-10
  • 2022-12-23
  • 2022-02-26
  • 2022-12-23
  • 2021-12-28
  • 2021-11-19
猜你喜欢
  • 2022-12-23
  • 2022-03-03
  • 2022-12-23
  • 2021-10-18
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案