在自定义间隔中运行jQuery ajax

时间:2015-02-26 19:09:00

标签: jquery ajax intervals

我有一个jQuery ajax函数。在页面加载时,应该执行。然后在5分钟之后,它应该被执行,然后在5分钟之后,它再次被执行,等等......

这是我的代码:

jQuery(document).ready(function(){
  jQuery.ajax({
    url: "/wp-admin/admin-ajax.php",
    data : {action: "check_noti_log"},
    context: this,
    success:function(data){
        // return new logs (data)
        jQuery('#ajax_new_logs').html(data);
    }
  });
});

我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

您可以使用setInterval。第一个参数是您要执行的函数,第二个参数定义执行代码的频率间隔(以毫秒为单位)。在你的情况5 minutes = 300 seconds 300*1000 milliseconds

setInterval(function() {
    jQuery.ajax({
    url: "/wp-admin/admin-ajax.php",
    data : {action: "check_noti_log"},
    context: this,
    success:function(data){
        // return new logs (data)
        jQuery('#ajax_new_logs').html(data);
    }
  });
}, 300000);

答案 1 :(得分:0)

一种简单的方法是设置超时五分钟,然后在代码执行后再次调用自己的函数。如果代码中断,请告诉我,我无法在我的环境中对其进行测试。

jQuery(document).ready(function(){
function periodicCallAJAX(){
    setTimeout(function(){
      jQuery.ajax({
         url: "/wp-admin/admin-ajax.php",
         data : {action: "check_noti_log"},
         context: this,
         success:function(data){
            // return new logs (data)
            jQuery('#ajax_new_logs').html(data);
         }
     });
     periodicCallAJAX();
    },300000);
    }
   });
相关问题