浏览 2689 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-08-16
最后修改:2010-08-18
前面几篇一直采用最精简的方式创建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); } } } }();
源码见附件
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-08-21
这算是造车轮?你的基础库会这么实现吗?斟酌噻!
|
|
返回顶楼 | |
发表时间:2010-08-23
官方API就是这么写的???。。。。。
|
|
返回顶楼 | |
发表时间:2010-08-31
异步请求的时候,后台逻辑抛异常了,Ajax中怎么处理?
建议楼主往这方面去做,可能更实用点。 |
|
返回顶楼 | |
发表时间:2010-09-01
rongxh2010 写道 异步请求的时候,后台逻辑抛异常了,Ajax中怎么处理?
建议楼主往这方面去做,可能更实用点。 后台异常会返回500之类的错误,会进入failure方法中,其参数分别为参数为xmlHttp, msg, exp |
|
返回顶楼 | |