上次刷新完成后,Javascript刷新php页面

时间:2014-03-28 16:58:38

标签: javascript php jquery

我正在使用此代码刷新PHP页面:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
$.ajaxSetup({ cache: false }); // This part addresses an IE bug. without it, IE will only load the first number and will never refresh
setInterval(function() {
$('.container').load('integra_data.php');
}, 2000); // the "3000" here refers to the time to refresh the div. it is in milliseconds.
});
// ]]></script>

<div class="container"><h3>Loading Data...</h3></div>

在javascript中,而不是每刷新一次X秒,我可以在上次刷新完成后刷新吗?

3 个答案:

答案 0 :(得分:0)

使用setTimeout而不是setInterval。

答案 1 :(得分:0)

$(document).ready(function() {
  $.ajaxSetup({ cache: false }); 
  setTimeout(function() {
    $('.container').load('integra_data.php');
  }, 2000); 
});

$( document ).ready(function(){})此内容将在页面加载完成后运行。所以这里应该延迟2秒..

答案 2 :(得分:0)

如果我找到了你想要在无限循环中刷新div的内容,对吧?如果这是正确的,您可以将load()作为complete回调传递给$(document).ready(function() { var loadFunction = function () { $('.container').load('integra_data.php', loadFunction); } $.ajaxSetup({ cache: false }); loadFunction(); }); 。你可以做这样的事情(递归):

loadFunction()

每次上次运行完成后,complete都会自行调用。如果您想了解有关setTimeout()回调的更多信息,请参阅docs。如果您添加一点延迟,因为尽可能快地提出请求并不总是使用complete功能。您可以将其添加到{{1}}回调。