如何找到两个连续请求之间的时间?

时间:2013-04-05 06:17:45

标签: javascript

我有两个复选框,每个选项会引发一个ajax请求,以便从服务器获得响应。在最后一个请求发出后至少有2秒的间隙时,我需要调用一个方法。任何的想法?这意味着我不想在连续点击复选框不到2秒的间隙时调用这些方法。

3 个答案:

答案 0 :(得分:2)

设置将在2秒内激活的超时,并取消它并在有人点击另一个复选框时重新启动它。

var timeout;
var checkboxClickHandler = function() {
    clearTimeout(timeout);
    var timeout = setTimeout(function() {
          // Your logic.
    }, 2e3);
};

答案 1 :(得分:1)

var timeOut=0;
$(".selector").on('change',function(){
    if(timeOut == 0)
    {
        timeOut=2;  //change timeOut variable to "2" to be used in if condition above
        //your ajax request code ;  
        setTimeout(function(){timeOut=0},2000);   // changing back timeOut to 0 after 2 sec.
    }
});

答案 2 :(得分:0)

如果它是您使用ajax调用的服务器,则可以在服务器上为特定客户端设置锁定(例如,使用mysql表),并使用一对标识符&通话时间。下次拨打电话时,您会在表格中查看最近的通话。当找到呼叫且超过2秒时:删除它并继续。 我也可以想到一个cookie解决方案,但是这样的东西应该在服务器端进行双重检查,因为本地代码可以被操作。