AJAX $ .ajax()和setInterval()仅在某人在页面上时加载?

时间:2013-11-17 00:59:03

标签: javascript php jquery ajax

我编写了下面的代码来刷新或重新加载页面为div id ='bitcoin_blocks_table',只有当有人在网站上时才会这样做。

如果网站上没有人,我会在2小时内回来,但过去两小时内没有更新。

这是因为AJAX调用还是因为脚本?

代码:

            $('#bitcoin_blocks_table').load('./ajax/bitcoin_blocks.php');

            var refresh_bitcoin_blocks = setInterval(function() {
                $.ajax({
                    url: './ajax/bitcoin_blocks.php',
                    type: 'POST',
                    success: function(blocks) {
                        $('#bitcoin_blocks_table').html(blocks);
                    }
                });
            }, 10000);

2 个答案:

答案 0 :(得分:2)

这是因为该网站仅在某人打开时才“正常工作”。间隔在客户端(浏览器)中工作,一旦关闭,间隔也是如此...想象一下如果每个站点上的所有周期性JS函数都会运行(并且每次新访问都加起来)会发生什么呢!

Google“cron job”。

答案 1 :(得分:0)

运行你的脚本

/ajax/bitcoin_blocks.php

通过cronjob

请参阅此article