如何解决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/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。