默认jquery是没有设置这个时间的,应该是看每个浏览器对XMLHttpRequest对象是否有超时处理
成都创新互联公司长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为宜春企业提供专业的成都做网站、网站制作、成都外贸网站建设,宜春网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
timeout unsigned long
The number of milliseconds a request can take before automatically being terminated. A value of 0 (which is the default) means there is no timeout.
Note: You may not use a timeout for synchronous requests with an owning window.
如果超时了,会触发jquery的ajax中断abort事件。
当然自己可以手动设置时间ajax里有个timeout :毫秒,
注意,jQuery判断的超时,是在定义的时间内,服务器没有返回相应,但此时服务器可能仍在进行运算。
JScript code$.ajax({
type: "POST",
timeout : 15000,
error : function(XMLHttpRequest, textStatus, errorThrown) {
if(textStatus == 'timeout') {
alert("您的操作请求已经超时");
} else {
alert("其他错误。");
}
}
}
以下是实现的代码:
$.ajax({
//其他参数已省...
timeout:5000, //超时时间,考虑到网络问题,5秒还是比较合理的
complete:function(XHR,TextStatus){
if(TextStatus=='timeout') //超时啦,干点什么呗
}
});
var ajaxTimeoutTest = $.ajax({
url:'', //请求的URL
timeout : 1000, //超时时间设置,单位毫秒
type : 'get', //请求方式,get或post
data :{}, //请求所传参数,json格式
dataType:'json',//返回的数据格式
success:function(data){ //请求成功的回调函数
alert("成功");
},
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if(status=='timeout'){//超时,status还有success,error等值的情况
ajaxTimeoutTest.abort();
alert("超时");
}
设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时执行响应的操作。
默认未配置,即不启用超时。给timeout赋值设置请求超时时间(毫秒),此设置将覆盖全局设置。
Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。请求超时这个参数通常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。
扩展资料:
jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下无需直接操作该函数,除非需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax()可以不带任何参数直接使用。
注意,所有的选项都可以通过$.ajaxSetup()函数来全局设置。
参考资料:百度百科-jQuery.ajax()
$.ajax({
url : "url",
timeout : 500,//设置500毫秒超时(如果500毫秒服务器没有反应即判断为超时)
success : function(db){},// 成功后回调
complete : function(XMLHttpRequest,status){
if(status=='timeout'){// 判断超时后 执行
alert("请求超时")
}
}
})