作业帮 > ASP.NET > 教育资讯

asp.net技巧:IE8+中XMLHttpRequest支持timeout属性

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 06:48:16 ASP.NET
asp.net技巧:IE8+中XMLHttpRequest支持timeout属性
asp.net技巧:IE8+中XMLHttpRequest支持timeout属性ASP.NET
【51Test.NET-asp技巧:IE8+中XMLHttpRequest支持timeout属性】:

不久前我写了一个Ajax工具库。这篇是对请求超时处理的补充。IE8/9的xmlHttPRequest对象已经增加这方面的支持了。IE10 pre1测试也支持。如果W3C能将这两个东东标准化多好啊,不用那么的hack方式实现了。

xmlhttpRequest的timeout属性可以设置,表示在等待响应多少毫秒之后终止。
即如果在规定的时间内浏览器没有收到响应,那么就触发timeout事件,给xhr.ontimeout赋值为一个响应函数后可被执行。


主要代码如下

view sourceprint?
01xhr.onreadystatechange = function(){
02    if(xhr.readyState == 4){
03        try{
04            var s = xhr.status;
05            if(s>= 200 && s < 300){
06                //success(xhr);
07            }else{
08                //failure(xhr);
09            }                       
10        }catch(e){}
11    }else{}
12};
13xhr.open();
14xhr.timeout = 1000;
15xhr.ontimeout = function(){
16    alert('request timeout');
17}

超时后再访问xhr的status属性会出异常,因此加上try catch。

ASP.NET