ajax 设置请求超时(setTimeout和clearTimeout)
2013-12-16 19:44
393 查看
<script type=”text/javascript”> function getXMLHttpRequest() { var xhr = false; if ( window.XMLHttpRequest ) { xhr = new XMLHttpRequest(); if ( xhr.overrideMimeType ) { xhr.overrideMimeType(”text/xml”); } }else if ( window.ActiveXObject ) { try{ xhr = new ActiveXObject(”Msxml2.XMLHTTP”); }catch(e) { try{ xhr = new ActiceXObject(”Microsoft.XMLHTTP”); }catch(e) { xhr = false; } } } return xhr; } window.onload = function() { var _x = getXMLHttpRequest(); //获得XMLHttpRequest对象 if ( !_x ) return false; _x.open(”get”,http://www.baidu.com,true); _x.onreadystatechange = function() { if ( _x.readyState == 4 && _x.status == 200 ) { clearTimeout(clearTO); //如果准备状态成功,并且HTTP状态码正确则清除setTimeout alert(”Success”); } }; var cleaeTO = setTimeout(function() /*重点,在请求发布后开始设置setTimeout,如果请求状态不成功也就是readyState != 4 那么setTimeout将会在5秒后运行,并弹出信息提示,要是请求成功,将会清除该setTimeout*/ { _x.abort(); //终止XMLHttpRequest对象 alert(”系统异常,请您刷新页面或稍后再试….”); },50000); _x.send(null); }; </script>
相关文章推荐
- 楼上ajax请求超时设置
- ExtJS做Ajax请求的超时设置——timeout属性
- ExtJS做Ajax请求的超时设置——timeout属性
- ExtJS做Ajax请求的超时设置——timeout属性
- ExtJS做Ajax请求的超时设置——timeout属性
- jquery ajax timeout含义是设置请求超时时间,不涉及服务器响应时间
- ajax跨域请求实践+headers 设置
- android网络编程注意事项之一:移动网络下,防止网络超时甚至连接不上,解决办法--为网络请求设置代理
- ASP.NET Core MVC请求超时设置解决方案
- PHP请求远程地址设置超时时间
- ajax同步设置,解决ajax请求内对全局变量赋值(data的数据)
- 在Asp.net core 中如何设置请求超时的时长
- ajax 跨域 headers JavaScript ajax 跨域请求 +设置headers 实践
- c# socket连接请求超时设置
- $.ajax()——超时设置,增加 loading 提升体验
- jquery.ajax 跨域请求webapi,设置headers
- js 中ajax请求时设置 http请求头中的x-requestd-with= ajax
- 如何在ajax请求中设置特殊的RequestHeader
- ajax请求到后台的servlet类中,设置页面跳转不生效
- http请求设置setConnectTimeout()方法超时无响应