设置ajax响应时间,避免浏览器无反应

 jQuery/js   高蒙   阅读(3535)   评论(0)   2016-04-24 21:33:12    设置ajax响应时间 


在项目中实现点击全部导出数据,通过ajax实现的时候,先将数据库中相应的数据全部的转成excel的文件格式,提供给用户下载。
在实际的操作中,由于数据量实在是大。ajax请求的反应时间太长,导致浏览器很久无反应的情况。
处理这样的情况有下面几种方法:

第一:就是设置ajax的请求时间。

$.ajax({
    type:"post",
    timeout:10000,
    url:"",
    data:{},
    dataType:'json',
    success:function(data){
 if(data.msg == 1){
     if(confirm('立刻前往下载')){
  window.location.href=data.url;
     }else{
  return false;
     }
 }else{
     alert('导出超时');
     window.location.reload();
 }
    }

    //请求完成后最终执行参数
    complete : function(XMLHttpRequest,status){
        //超时,status还有success,error等值的情况
    if(status=='timeout'){
       ajaxTimeOut.abort(); //取消请求
       alert("超时");

    }
  }
});

经测试:服务器处理方法中线程延时,结果证明,timeout无效,客户端等待响应,status返回sucess。说明, timeout含义是设置请求超时时间,不涉及服务器响应时间!

第二:就是在返回数据的时候,尽量的返回数据的字节不要太大,可以分开的传输。




相关文章



我要评论


站长昵称:(*)

输入内容:


评论列表


高蒙

男,程序猿一枚

 

人生要是没有理想, 那跟一条咸鱼有什么分别。


关于我

  http://www.shuchengxian.com

高蒙个人博客是以PHP技术为主的程序员个人博客。博客主要发布php开发中遇到的问题以及解决办法,同时个人博客也分享网站模板素材,jquery插件等方面素材。


站点声明:相关侵权、举报、投诉及建议等,请发E-mail:936594075#qq.com(#替换成@)。

Copyright © 2018, www.shuchengxian.com, All rights reserved. 个人博客皖公网安备 34152302000022号 皖ICP备15015490号

关键词:个人博客,PHP博客,PHP博客程序,高蒙博客,高蒙个人博客,php程序员博客,程序员个人博客