我有一个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);
}
});
});
我如何实现这一目标?
答案 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);
}
});