AJAX - XMLHttpRequest 对象
AJAX 全称为 "Asynchronous JavaScript and XML"(异步 JavaScript 和 XML),它使得页面可以与服务器异步地交换数据,而不会打断用户的操作。其核心对象就是 XMLHttpRequest。
以下是创建 XMLHttpRequest 对象的不同方法:
- 标准方式:
var xhr = new XMLHttpRequest();
- IE方式(IE5和IE6):
var xhr = new ActiveXObject("Microsoft.XMLHTTP");
为了兼容不同浏览器,可以编写一个函数来创建 XMLHttpRequest 对象:
function createXHR(){
if(typeof XMLHttpRequest != "undefined"){
return new XMLHttpRequest();
}else if(typeof ActiveXObject != "undefined"){
if(typeof arguments.callee.activeXIndex == "undefined"){
var versions = ["MSXML2.XMLHttp.6.0", "MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp"],
i, len;
for(i=0,len=versions.length; i < len; i++){
try{
new ActiveXObject(versions[i]);
arguments.callee.activeXIndex = i+1;
break;
}catch(ex){
// 捕获异常继续
}
}
}
return new ActiveXObject(versions[arguments.callee.activeXIndex]);
}else{
throw new Error("No XHR object available.");
}
}
使用这个函数可以在不同的浏览器中创建 XMLHttpRequest 对象。
注意:在现代浏览器中,只需要使用 new XMLHttpRequest()
就可以创建 XMLHttpRequest 对象,而不需要考虑 IE 的兼容性。
评论已关闭