zhouyrt 发表于 2013-1-29 11:51:31

创建xhr对象出现异常处理---Ajax之六

前面几篇一直采用最精简的方式创建Ajax的核心XMLHttpRequest对象
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); 
没有考虑其可能出现的异常,即创建失败。其实个人认为以上创建方式创建失败的几率非常之少,起码在IE6/7/8/Firefox/Safari/Chrome/Opera如此,其它浏览器就不知了。
 
如果作为一个基础库还是完善下,如果出现创建失败,failure的第二个参数msg将会被赋值为"create xhr failed"。

如下:
 
var xhr = function(){try{return new XMLHttpRequest();}catch(e){try{return new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(e){failure(null,'create xhr failed',e);}}}}(); 
 
源码见附件
 
 
 
页: [1]
查看完整版本: 创建xhr对象出现异常处理---Ajax之六