我在<body onload>
事件上调用了一个JavaScript函数,其中有一个while循环,它将迭代,直到从PHP页面获取所需的响应。
然而,由于循环会发出一组非常频繁的请求,这导致我的浏览器挂起。
有没有另一种简单的方法,我们可以每15分钟执行AJAX功能请求,而不会给浏览器带来太大的负载?
使用每15分钟调用一次函数的setInterval
setInterval(function(){
// Call to your function that performs an ajax call...
}, 15 * 60 * 1000);
以下是setInterval文档的链接:http://www.w3schools.com/jsref/met_win_setinterval.asp
您可以使用jquery插件进行轮询。
https://launchpad.net/jquery.poll
var ajax_call = function () {
$.ajax(options);
};
setInterval(ajax_call, interval);
要清除它,请使用
clearInterval(ajax_call);
Weel我认为你可以像这个一样使用setTimeout()
setTimeout(yourajaxfunction,90000);
// 900000 is the delay in millisecond, after that your function is called.
在循环中,以便只有在超时结束时才执行该函数。
p.S.
我认为ajax天生就是"响应式"的,你应该根据用户的操作来刷新东西,而不是我认为的超时!:)