六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 29|回复: 0

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

[复制链接]

升级  60.33%

119

主题

119

主题

119

主题

举人

Rank: 3Rank: 3

积分
381
 楼主| 发表于 2013-1-29 11:51:31 | 显示全部楼层 |阅读模式
前面几篇一直采用最精简的方式创建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);}}}}(); 
 
源码见附件
 
 
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表