jquery ajax timeout默认是没有限制的,限制干嘛用?

时间:2015-06-19 10:41:29   收藏:0   阅读:436

    通常ajax访问服务器时,从发送请求建立连接开始,到服务器处理与返回数据的时间不会太长,取决于服务器设置的session时间。一旦服务器处理数据很慢,可能会超时时,ajax客户端处理响应就需要特殊处理。举例:

$.ajax({
            url: "export-base!getZip.shtml",
            type:"post",
            data:"seID=${seID}",
            ansyc:false,
            success:function(data){
                window.location.href = "下载地址";
            }
        });

ajax未设置任何超时时间限制,服务器配置会返回超时页面,那么success data则返回超时页面的html字符串。体验就不好了....

因此,一种方式是设置超时时间,例如与服务器端超时时间一致,假设timeout:30分钟,然后客户端做好监测:
            complete : function(XMLHttpRequest,status){
                if(status==‘timeout‘){alert("对不起,请求超时");}
            }

这样就友好许多了呢...

原文:http://my.oschina.net/ffwcn/blog/468634

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!