2013-10-01 50 views
1

我想知道如果找到零结果,我将如何清除我的ajax的setInterval。AJAX:如果没有更多的结果,如何清除间隔

这里是我的代码:

$(document).ready(function() { 
    var imageLoader = {} 

    imageLoader.render = function(event){ 
     $.ajax({ 
      url: UAI+'/useraccountimages/loadimage', 
      type: 'post', 
      data: { 
       id : UID, 
       }, 
      success: function(data){ 
       $("#available_images").html(data); 
      } 
     }); 
    } 

    imageLoader.interval = setInterval(imageLoader.render,5000); 

    imageLoader.render(); 
}); 
+2

在您的成功处理程序中,测试'data'。因此,如果“没有更多结果”由空字符串表示,请清除您的间隔,如果(数据==='')'。 – halfer

+0

完成halfer的回答:'window.clearInterval(imageLoader.interval)' – LeGEC

+0

我可以在范围之外clearInterval吗?我的意思是我可以检查范围以外的@var数据吗? – NEWBIE

回答

0

我不知道的代码,只需按照“逻辑”!

$(document).ready(function() { 
     var imageLoader = {} 

     imageLoader.render = function(event){ 
      $.ajax({ 
       url: UAI+'/useraccountimages/loadimage', 
       type: 'post', 
       data: { 
        id : UID, 
       }, 
       success: function(data){ 
        if (data.is(':empty')) { 
         clearInterval(imageLoader.interval); 
        } 
        $("#available_images").html(data); 
       } 
      }); 
     } 

     imageLoader.interval = setInterval(imageLoader.render,5000); 

     imageLoader.render(); 
}); 

用函数“clearInterval”来停止它。 (stopInterval description