jQuery轮询解决方案

| 更新: 我正在尝试让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>
    
已邀请:
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/     
看看jquery插件Smartupdater http://www.eslinstructor.net/smartupdater3/ 它具有您需要的所有功能。     
迟到总比不到好!根据jQuery docs,get()ajax函数以静默方式失败。您将必须处理.ajaxError()事件。 http://api.jquery.com/ajaxError/     

要回复问题请先登录注册