需要在javascript中的固定时间段后以递增方式执行ajax调用吗?

时间:2010-03-30 12:14:05

标签: javascript ajax scriptaculous

嗨,伙计们,我需要能够在每隔几分钟后拨打一个ajax电话。基本上,ajax调用将检查收件箱中的新电子邮件。如果有新电子邮件,它会将电子邮件下载到数据库。我把所有的服务器端代码设置得很好。我只需要知道如何在前端设置每隔几分钟后进行ajax调用的部分加上它应该设置为使得我们不会最终进行并行的ajax调用,即如果ajax call没有返回响应,它不应该启动新的ajax请求。

3 个答案:

答案 0 :(得分:3)

http://www.w3schools.com/jsref/met_win_settimeout.asp

http://www.w3schools.com/jsref/met_win_setinterval.asp

设置间隔可能更像你所追求的,你可以调用类似

的东西

setInterval(function(){/ *你想在这里运行的代码* /},100);

然后你的代码将每100毫秒运行一次。

你将需要使用更长的时间,例如每分钟60000。如果你使用settimeout方法,那么你可以让它检查等待ajax的响应,并让处理ajax响应的代码设置一个新的超时。

答案 1 :(得分:1)

答案 2 :(得分:0)

我会设置一个cookie,它在服务器和客户端之间来回反弹,以存储上次发出ajax请求时。然后在每个页面加载时,js脚本读取cookie并在下一个ajax请求之前的剩余时间设置setTimeout