Ajax中封装创建XMLHttpRequest对象的方法

Ajax中创建XMLHttpRequest对象的时候,为了兼容不同的浏览器,总是需要写不少的代码。下面采用一种更高效的工厂模式把定义XMLHttpRequest对象的功能进行封装,这样只需要调用createXMLRequestObject()方法就可以根据当前的浏览返回一个XMLHttpRequest对象。

 1 function createXMLRequestObject(){
 2 //创建兼容不同浏览器和版本函数数组
 3 var XMLHttpFactories = [
 4 function(){return new XMLHttpRequest()},
 5 function(){return new ActiveXObject("Msxml2.XMLHTTP")},
 6 function(){return new ActiveXObject("Msxml3.XMLHTTP")},
 7 function(){return new ActiveXObject("Microsoft.XMLHTTP")}
 8 ];
 9 var xmlhttp =false;
10 //尝试调用一种定义函数,如果成功则返回,否则继续下一种进行尝试
11 for(var i =0;i<XMLHttpFactories.length;i++){
12 try
13 {
14   xmlhttp = XMLHttpFactories[i]();
15 }
16 catch ()
17 {
18 //异常则继续下一个函数调用
19 continue;
20 }
21 //成功则中止循环
22 break;
23 }
24 return xmlhttp;
25 }
原文地址:https://www.cnblogs.com/zjwia/p/2963522.html