首页 > 学院 > 开发设计 > 正文

IE8+中XMLHttpRequest支持timeout属性及ontimeout事件

2019-11-17 03:35:51
字体:
来源:转载
供稿:网友

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

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


主要代码如下

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。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表