【问题标题】:How do we make our page refresh data once every minute with ajax jquery?我们如何使用 ajax jquery 让我们的页面每分钟刷新一次数据?
【发布时间】:2013-04-07 20:21:03
【问题描述】:

我们如何实现一个计时器来发送一个 ajax 请求以每分钟刷新一次数据(例如来自其他用户的数据库中的新条目)。我正在使用来自 jquery 的 $.ajax。

我的目的是发送最后一次更新的时间,这样服务器就不会发送重复的数据。只有在那之后创建的行。

我的服务器脚本是 php。

【问题讨论】:

    标签: php jquery ajax partial-page-refresh


    【解决方案1】:

    用于发送日期和时间您可以使用此功能

            var date    = new Date();
            var date    = date.getUTCFullYear() + '-' +
            ('00' + (date.getUTCMonth()+1)).slice(-2) + '-' +
            ('00' + (date.getUTCDate()).slice(-2) + ' ' + 
            ('00' + date.getUTCHours()).slice(-2) + ':' + 
            ('00' + date.getUTCMinutes()).slice(-2) + ':' + 
            ('00' + date.getUTCSeconds()).slice(-2);
    

    上面会将日期和时间格式化为mysql格式,你通过变量传递给mysql查询,然后每分钟使用setInterval传递当前时间

        setInterval(function(){ 
         $.ajax({
         type:"POST",
         data:"Time="+ date,     
         url:"serverRef",
         success: function(data){
             // On success 
                               }
         });              
    
         },60000);
    

    注意:您也可以在服务器端使用相同的技术

    【讨论】:

      【解决方案2】:

      setInterval 与 jQuery 的 post 会产生奇迹。确保如果您有很多访问者,请记住缓存,否则您可能会在不注意的情况下收集大量查询,在过去我注意到这会压倒一些主机并基本上使您离线。

      var ajax = window.setInterval(function(){
          $.post('path/to/my/script.php', function(data){
               if(data == "stop")
               {
                   clearInterval(ajax);
                   return;
               }
      
               $('#statistics').html(data);
          });
      }, 60000);
      

      【讨论】:

        猜你喜欢
        • 2021-09-07
        • 2017-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-08
        相关资源
        最近更新 更多