2013-10-01 49 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