通常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("对不起,请求超时");}
}
这样就友好许多了呢...
时间: 2024-11-08 00:40:12