2013-01-04 18 views
-1

问题工作:周期性计时器不.load

我相信.load阻塞,而是意图是异步的。

代码:

$(window).load(function(){ 
    $('#content').load('/ajax/databaseworking.php'); 
    setTimeout(function(){ $('#content').load('/ajax/databaseperform.php');}, 5000); 
}); 
</script> 

更多详情:

的代码基本上调用databaseworking.php做一些数据库维护。每5秒钟一次ajax呼叫就可以获得进展。

我检查了我的日志。正在调用databaseworking.php和databaseperform.php。但是,databaseperform.php没有被定期调用。换句话说,它唯一被调用一次。

作为一项测试,我评论了数据库工作调用。这导致按预期每间隔调用进度功能。这使我相信加载存在问题。注意我已经检查并测试了databaseworking.php,并且在那里不应该有错误。

回答

0

您需要设置一个新的超时在你的函数。

$(window).load(function(){ 
    var loadContent = function() { 
     $('#content').load('/ajax/databaseperform.php'); 
     setTimeout(loadContent, 5000); 
    }; 
    loadContent(); 
}); 

你可以看到为什么这很可能优于使用setInterval这里:https://stackoverflow.com/a/731625/330013