js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台

js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台,第1张

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

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

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

var g_intervalId;   // 这要定义成一个全局变量

g_intervalId = windowsetInterval();   // 创建定时执行程序

windowclearInterval(g_intervalId);    // 在跳转之前调用,以清除定时执行程序

看你怎么实现了

一种是在请求数据前展示toast,比如Toastshow(),然后在获取到数据以及处理完所需要的任务之后隐藏Toasthide(),这样的话提示框显示的时间基本就是请求数据所花的实际

还有种是在toast组件中设置属性duration(比如默认25秒)控制toast展示时间,这样的话toast显示的时间就根据传递的时间来,Toastshow(3) 那就是toast显示3秒后关闭

监听你系统通信所用的端口,有数据就获取显示就可以了。例如你的服务器ip是16812116,使用的是2000端口号,Socket socket=new Socket("16812116",2000);

DataOutputStream in=new DataOutputStream(socketgetInputStream());

首先,如果判断时间要求严格统一,请用server时间做判断,也就是给java来判断

如果可以用客户端时间,当然有漏洞,万一客户端修改时间就麻烦了

所以要做到统一,这个判断方法有两种都是交给java来判断

一是点击按钮发送ajax请求给服务器

二是点击按钮直接提交表单给服务器

当然如果是要直接在服务器上签到,那就可以直接用js来做了

js获取时间

var t1 = new Date(),//当前时间

t2 = t1,

t3 = t1;

t2setHours(8,0,0);//将日期转换为当天8:00

t3setHours(7,30,0);//将日期转换为当天8:00

//下面进行日期比较就可以了

你取到的是服务器在response里面返回的日期!

如果你连接的服务器bjtimecn没有在response响应里给你设置Date,则会取日期初始化的时间,也就是UTC0或者GMT0。

你在var d = new Date(dateStr);之前把dateStr给alert出来看看是否正确?

以上就是关于js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台全部的内容,包括:js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台、js 请求数据时显示toast提示框,怎么控制提示框显示的时间、js发送请求的时候想要获取请求的地址及参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9797317.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存