2

このプラグインを機能させるために一生懸命努力していますが、ステータス関数を理解していないため、再試行は実行されません。

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

getリクエストを「/」に設定すると、アラートYESメッセージが表示されますが、そのままでは、アラートNoメッセージはELSEにもかかわらず発生しません。

私は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 に答える