JQuery решение для опроса - PullRequest
       13

JQuery решение для опроса

1 голос
/ 14 апреля 2011

ОБНОВЛЕНО:

Я пытаюсь заставить работать умный опрос jquery.Он работает нормально, если процесс готов в течение первых 2 секунд, но если нет, он не повторяет попытки, как это должно быть.Я также хотел бы сделать тайм-аут после определенного числа.

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

<script type="text/javascript" charset="utf-8">
    $("#load_availables").toggle()
    $.poll(2000,function(retry){
        $.getScript('update_availables.js?job_id=<%= @bed.job_id %>&space_id=<%= @space.id %>', function(response, status){
            if (status == 'success')
                $("#load_availables").toggle()  //works fine if ready
            else
                retry()  //does not retry at all
         })
    })
</script>

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011
var retryCount = 0;

$.poll(10000, function(retry){
     retryCount++;
     $.get('something', function(response, status){
       if (status == 'success')
         // Do something
       else
       {
         if(retryCount < 11) retry();
         else return;
       }
     })
   })

У меня не было возможности проверить это - но теоретически это должно сработать.

Кстати, как примечание - для того, что вы делаете, еслиВы хотели бы повысить эффективность вашего JavaScript, использовать комет-сервер и использовать медленный опрос.Взгляните на http://www.ape -project.org /

1 голос
/ 02 февраля 2012

Лучше поздно, чем никогда!Согласно документации jQuery, ajax-функция get () завершается сбоем.Вам придется обработать событие .ajaxError ().http://api.jquery.com/ajaxError/

1 голос
/ 20 апреля 2011

взгляните на плагин jquery Smartupdater

http://www.eslinstructor.net/smartupdater3/

Он имеет все необходимые функции.

...