首页 > 代码库 > XMLHttpRequest对象的使用

XMLHttpRequest对象的使用

1.首先要创建XMLHttpRequest对象,这个对象是前台与后台进行异步的重要对象,现在的浏览器有很多种,创建 XMLHttpRequest 的方法也不相同,所以为了兼容各种浏览器,在创建XMLHttpRequest 时也应该考虑到各种浏览器的情况。目前主流的浏览器在Windows下有IE、Firefox及Opera,所以我们写的代码要尽量兼容这几个浏览器。创建方式如下:

程序代码 程序代码
// 先定义一个变量,并赋初值为 false,方便后面判断对象是否创建成功
var xmlObj = false;
// 使用 try 来捕获创建失败,再换个方法来创建
try {
    // 在 Mozilla 中使用这种方式来创建 XMLHttpRequest 对象
    xmlObj=new XMLHttpRequest;
}
catch(e) {
    try {
        // 如果不成功,那么尝试在较新 IE 里的方式
        xmlObj=new ActiveXObject("MSXML2.XMLHTTP");
    }
    catch(e2) {
        try {
            // 失败则尝试使用较老版本 IE 里的方式 
            xmlObj=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e3) {
            // 还是失败,那么就认为创建失败……
            xmlObj=false;
        }
    }
}
// 如果创建 XMLHttpRequest 对象失败,那么提醒访问者该页面可能无法正确访问
if (!xmlObj) {
    alert("XMLHttpRequest init Failed!");
}


       2.xmlhttp.open(method,url,bool);
       请求方式可以是 GET,POST,HEAD中的一种,因为我要获取文件,所以用 GET,常用的也是GET,POST
       请求文件的URL,直接用相对路径即可。
     同步方式,表示请求发出后是等待回应(false)还是继续执行下面的代码(true),即所谓异步了。AJAX的第一个A就是表示异步了,所以这里用 true。

程序代码 程序代码
xmlObj.onreadystatechange=function() {
      // 如果 XMLHttpRequest 的状态为4,应该是ready来的,那么继续处理
    if(xmlObj.readyState==4) {
        // 需要判断返回状态是否为200 OK,有些情况如文件不存在,就为返回404
        if(xmlObj.status==200) {
        // 一切OK,调用处理过程
            DoMyXML();
        }
    }
}

XMLHttpRequest对象的使用