XMLHttpRequest对象学习笔记(一)

来源:互联网 发布:mac os x哪个版本好 编辑:程序博客网 时间:2024/05/11 02:26

1. 声明一个XMLHttpRequest对象。

代码示例:

if (window.XMLHttpRequest){
    this.NewObject=new XMLHttpRequest();

}

else if (window.ActiveXObject){
    this.NewObject=new ActiveXObject("Microsoft.XMLHTTP");

}

这个声明可以适用于IE浏览器和非IE浏览器。这个声明分两部分:第一部分针对非IE浏览器,非IE浏览器直接提供了XMLHttpRequest对象,所以可以之直接实例化;第二部分针对IE浏览器,IE浏览器本身不提供该对象,因此需要通过声明一个ActiveX对象的方法进行实例化。

2. 初始化 XMLHttpRequest对象。

第一步得到一个有效的XMLHttpRequest对象之后,就要对其进行初始化。示例代码如下:

function InitXMLHTTP(pobjXMLHttp, psXMLFileName) {
    if (pobjXMLHttp){
        pobjXMLHttp.onreadystatechange=onReadyState;
        pobjXMLHttp.open("GET",psXMLFileName,true);
        pobjXMLHttp.send();
 }
初始化XMLHttpRequest对象至少需要如上的三句话:

第一句:指定一个函数来响应对象状态的变化。

第二句:指明通过XMLHttpRequest对象要干什么。可以看到这里有三个参数:第一个参数是HTTP方法,一般就是GE和POST,如果是希望获得一个XML文件或者其他形式的文件使用GET方法,如果是调用另一个页面则使用POST方法;第二个参数是希望获得的文件或者也页面的url地址;第三个参数

第三句:执行这个对象。

3. XMLHttpRequest对象状态响应函数

这个函数就是在第二步代码中第一句话所指定的函数的实现。代码示例如下:

function onReadyState(){
    var liReadyState=this._mobjXMLHttp.readyState;
    var lxmlData=null;
    if (liReadyState==4){
        lxmlData=this._mobjXMLHttp.responseText;
    }

    else{
        lxmlData="loading...["+liReadyState+"]";
    }
这个函数所完成的主要人物就是当对象状态等于4时(即HTTP响应完成并返回所需内容)要进行的处理。XMLHttpRequest对象有两个属性:responseText和responseXML。这个两个属性的值都是HTTP所返回的内容,不同的是responseText属性以字符串形式返回内容,而responseXML属性以XML形式返回。再拿到返回内容后可以做进一步的处理。

原创粉丝点击