添加Ajax呼叫冷却时间

时间:2014-07-18 04:12:37

标签: javascript jquery ajax

我搜索了Google和StackOverflow,但没有运气。

我有一个系统,当页面加载时,它通过ajax调用广告。它运作良好,但我希望它能够在上次通话后的60秒内不会拨打电话。换句话说,ajax调用之间的冷却时间。

我的ajax电话:

$.ajax({
    type: 'GET',
    url: '../ad',
    cache: false,
    success: function(data) {
    $("#cat").html(data);
  }
});

我尝试过使用带有变量倒计时的IF语句,但它没有用。

提前致谢。

2 个答案:

答案 0 :(得分:0)

    setInterval(function(){$.ajax({
    type: 'GET',
    url: '../ad',
    cache: false,
    success: function(data) {
    $("#cat").html(data);
    }
    })},60000); //60 sec

答案 1 :(得分:0)

使用setInterval每秒运行ajax函数,始终跟踪调用处理程序的次数,然后仅在计数等于或大于60时调用ajax函数...

var count = 60;//make sure you initialize it to 60 to guarantee the first call immediately

setInterval(function(){
    count++;//increase the count

    if(count >= 60){
        $.ajax({
            type: 'GET',
            url: '../ad',
            cache: false,
            success: function(data) {
            $("#cat").html(data);
            count = 0;//reset the count
          }
        });}
}, 1000);//runs on every second