使用ajax的jquery setinterval时间

时间:2012-05-05 18:04:49

标签: php jquery ajax

我想用ajax& amp自动刷新“result”div setInterval函数。

但是有一个问题。我希望在500毫秒内自动刷新,但有时ajax加载超过500毫秒。在这种情况下包含问题。我想如果ajax加载时间750毫秒然后间隔时间750(或任何时间更长500毫秒)其他500.我怎么能这样做?

    var refreshId = setInterval(function()
{
    var number=$("#number").html();

    $.ajax({
    type: 'GET',
    url: 'ajax.php',
    data: 'num='+number,
    success: function(ajaxResult) {
      $('#result').html(ajaxResult);

    }
        });

    if(number<100){
        number++;
        $("#number").html(number);
        }

}, 500);

2 个答案:

答案 0 :(得分:1)

尝试成功功能中的条件。

   success: function(ajaxResult) {
      $('#result').html(ajaxResult);
      if(number<100){
        number++;
        $("#number").html(number);
        }
    }

答案 1 :(得分:1)

使用setTimeout代替setInterval。在ajax响应函数中设置超时功能,同步服务器调用就没有问题。

    (function pollStep(){
        var number=$("#number").html();   
        $.ajax({
           type: 'GET',
           url: 'ajax.php',
           data: 'num='+number,
           success: function(ajaxResult) {
               $('#result').html(ajaxResult);
               setTimeout(pollStep, 500);   
           }
        });
        if(number<100){
            number++;
            $("#number").html(number);
        }
     })();