使用智能轮询插件进行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