我有这个代码从
mysql DB请求一些文件夹信息:
function gotoDir(pmcat_id,pcat_id){ $('#slideshowContainer').html('<img class="loader" src="/javascript/ajax-loader.gif">'); $.post("/publish/includes/content.includes/functions.slideshow.PHP",{ updateSlideshowDir: 1,pmcat_id: pmcat_id,pcat_id: pcat_id },function(data){ $('#pageSlideshow').html(data.content); },"json" ); }
有时由于互联网连接不良,发布请求超时.是否可以在$.post()上设置超时检查?例如:如果$.post()使用多于X ms,请重新加载请求.
function gotoDir(pmcat_id,pcat_id){ $('#slideshowContainer').html('<img class="loader" src="/javascript/ajax-loader.gif">'); $.ajax({ type:"post",url:"/publish/includes/content.includes/functions.slideshow.PHP",data: { updateSlideshowDir: 1,dataType: "json",success:function(data) { if (data == null){ alert('ajax Failed. reloading...'); gotoDir(pmcat_id,pcat_id); } else { $('#pageSlideshow').html(data.content); } } }); }
这样做可行吗? :S
$.ajax具有完成您要求的所有功能:
function gotoDir(pmcat_id,pcat_id) { $('#slideshowContainer').html('<img class="loader" src="/javascript/ajax-loader.gif">'); $.ajax({ type: "POST",url: "/publish/includes/content.includes/functions.slideshow.PHP",timeout: 500,// in milliseconds success: function(data) { // process data here },error: function(request,status,err) { if(status == "timeout") { gotoDir(pmcat_id,pcat_id); } } }); }
原文地址:https://www.jb51.cc/ajax/159862.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。