初始化XMLHttpRequest对象
- IE浏览器
IE浏览器把XMLHttpRequest实例化为一个ActiveX对象。具体方法如下:
var http_request = new ActiveXObject("Msxml2.XMLHTTP");
或者
var http_request = new ActiveXObject("Microsoft.XMLHTTP");
在上面的语法中,Msxml2.XMLHTTP和Microsoft.XMLHTTP是针对IE浏览器的不同版本而进行设计的,目前常用的就这两种。
- 非IE浏览器
非IE浏览器(如Firefox、Opera、Mozilla、Safari)把XMLHttpRequest对象实例化为一个JavaScript对象。具体方法如下:
var http_request = new XMLHttpRequest();
为了提高程序的兼容性,可以创建一个跨浏览器的XMLRequest对象。
创建一个跨浏览器的XMLHttpRequest对象,只需判断一下不同浏览器的实现方式。如果浏览器提供了XMLHttpRequest类,则直接创建一个实例,否则实例化一个ActiveX对象。如下:
if(window.XMLHttpRequest){ //非IE浏览器
http_request = new XMLHttpRequest();
} else if(window.ActiveXObject){ //IE浏览器
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e){}
}
}
在上面的代码中,调用window.ActiveXObject将返回一个对象,或是null。在if语句中会把返回对象看作是true或false。如果返回一个对象,则为true;否则返回一个null,则为false。