опрос jquery с помощью плагина smart poll

#jquery #jquery-plugins #get #polling #ajax-polling

#jquery #jquery-плагины #получить #опрос #ajax-опрос

Вопрос:

Я изо всех сил пытаюсь заставить этот плагин работать, но я не понимаю функцию status, поэтому повторная попытка не срабатывает.

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

Если я установлю для запроса get значение ‘/’, это выдаст мне сообщение alert YES, но как бы то ни было, сообщение alert No никогда не срабатывает, несмотря на ELSE.

Я использую плагин опроса jquery:

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

Есть идеи?

Комментарии:

1. // Do something Возможно, код в alert("YES"); выдает сбой по умолчанию, так что вы никогда не доберетесь до alert("NO"); , но также и не увидите, что это такое, не так ли? Не вижу, не так ли?.

Ответ №1:

Вы также можете использовать Smartupdater — плагин jQuery

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

который позволяет:

  • Остановить / перезапустить опрос
  • Динамически изменяйте время ожидания опроса
  • Динамически переключать URL опроса
  • Динамически переключать функцию обратного вызова
  • Удаленная установка времени ожидания опроса
  • Удаленный выбор функции обратного вызова

Ответ №2:

Вероятно, это плохой пример. Обратный вызов, переданный $.get , будет запущен только в том случае, если запрос выполнен успешно. Попробуйте это:

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

Для получения дополнительной информации взгляните на $.ajax .