#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
.