2

我一生都在努力让这个插件工作,但我不理解状态功能,所以重试不会触发。

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

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

我正在使用一个 jquery 轮询插件:

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

有任何想法吗?

4

2 回答 2

2

您还可以使用 Smartupdater - jQuery 插件

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

这让你:

  • 停止/重新启动轮询
  • 动态更改轮询超时
  • 动态切换轮询 URL
  • 动态切换回调函数
  • 远程设置轮询超时
  • 远程选择回调函数
于 2011-04-21T08:11:49.667 回答
1

这可能是一个不好的例子。$.get只有在请求成功时才会触发传递给的回调。试试这个:

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

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

于 2011-04-14T15:19:08.910 回答