setInterval(function(){
//ajax 请求后台数据
},1000);
这个是A页面的定时器
然后我在A页面通过其他请求跳转到其他页面之后
后台发现A页面的定时器的那个请求仍然在执行
为什么会出现这种情况呢?
怎么能让我跳转到其他页面之后定时任务不执行呢?
js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
答案:2 悬赏:10 手机版
解决时间 2021-01-04 11:12
- 提问者网友:川水往事
- 2021-01-03 22:54
最佳答案
- 五星知识达人网友:山有枢
- 2021-01-10 06:24
个人感觉如果A页面已经跳转到其他页面,那么那个定时器的请求应该不会再被执行,因为A页面在浏览器中应该已经被销毁。
觉得你应该花些时间来测试一下,确定是否为该A页面所发的请求,比如在请求上打上请求时间的值,从而有助于你分析。
如果仅仅要不执行定时任务,那么可以在页面跳转之前调用window.clearInterval将那个定时器清除掉。
var g_intervalId; // 这要定义成一个全局变量
...
g_intervalId = window.setInterval(...); // 创建定时执行程序
...
window.clearInterval(g_intervalId); // 在跳转之前调用,以清除定时执行程序
觉得你应该花些时间来测试一下,确定是否为该A页面所发的请求,比如在请求上打上请求时间的值,从而有助于你分析。
如果仅仅要不执行定时任务,那么可以在页面跳转之前调用window.clearInterval将那个定时器清除掉。
var g_intervalId; // 这要定义成一个全局变量
...
g_intervalId = window.setInterval(...); // 创建定时执行程序
...
window.clearInterval(g_intervalId); // 在跳转之前调用,以清除定时执行程序
全部回答
- 1楼网友:夜余生
- 2021-01-10 07:37
可以私聊我~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯