2011-04-14 48 views
2

我試圖讓我的生活得到這個插件的工作,但我不理解的狀態功能,所以重試沒有射擊。jQuery的輪詢智能民意調查插件

$.poll(10000, function(retry){ 
    $.get('willfail', function(response, status){ 
    if (status == 'success') { 
     // Do something 
     alert("YES"); 
    } else { 
     alert("NO"); 
     //retry(); 
    } 
    }) 
}) 

如果我設置的GET請求「/」它會給我的警告是消息,但因爲它是,警報沒有消息永遠不會盡管ELSE解僱。

我使用一個jQuery插件投票:

https://github.com/jeremyw/jquery-smart-poll

任何想法?

+1

在'代碼//做something'可默默地失敗,所以你永遠不會'警報(「YES」);'但也不要'看不到'alert(「NO」);'。 – justkt 2011-04-14 15:15:21

回答

1

這可能是一個不好的例子。傳遞給$.get的回調只有在請求成功時纔會被觸發。試試這個:

$.poll(10000, function(retry){ 
    $.ajax({ 
     url:'willfail', 
     success: function(){ 
      // Do something 
      alert("YES"); 
     }, 
     error: function() { 
      alert("NO"); 
      retry(); 
     } 
    }); 
}); 

欲瞭解更多信息,請看$.ajax

2

您還可以使用Smartupdater - jQuery插件

http://www.eslinstructor.net/smartupdater/

這讓你:

  • 停止/重新啓動輪詢
  • 更改輪詢超時動態
  • 交換機投票網址動態
  • 切換回撥功能動態
  • 遠程設置輪詢超時
  • 遠程選擇回調函數