使用智能轮询插件进行jquery轮询

我正在努力让我的生活让这个插件工作,但我不理解状态function,所以重试不会触发。

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

如果我将get请求设置为’/’,它将给出警报YES消息,但实际上,尽管ELSE,警报No消息永远不会被触发。

我正在使用jquery轮询插件:

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

有任何想法吗?

这可能是个坏榜样。 传递给$.get的回调只有在请求成功时才会被触发。 试试这个:

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

有关更多信息,请查看$.ajax

您还可以使用Smartupdater – jQuery插件

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

它让你:

  • 停止/重新启动轮询
  • 动态更改轮询超时
  • 动态切换轮询URL
  • 动态切换回调函数
  • 远程设置轮询超时
  • 远程选择回调function