对xmlHttp对象方法和属性的理解

2019-12-24,,,,

1  客户端可以通过xmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用文档对象模型(DOM)处理回应。

1.1 我的理解:



  1. 用户的每次操作,都会有数据产生。
  2. 通过DOM或者JS编写对数据进行封装,或者浏览器自身对http协议的一些数据进行封装。
  3. 通过xmlHttp对象的一些方法,传入数据参数,向http服务器发送请求。
  4. 返回结果通过DOM进行处理。

2  xmlHttp对象的成员。


2.1 属性



  1. onreadystatechange:readyState属性值发生改变时,触发的事件处理句柄。

例子:xmlHttp.onreadystatechange = functionHandler;


   function functionHandler() {


if(xmlHttp.readyState == 4) {


alert("readyState状态为4时,弹出此窗口!!!");


}


  }


//句柄只有方法名称,没有这对“()”括号。赋值时要注意理解。



  1. readyState:这个属性表示状态;总共有五种状态:


















0 (未初始化)


对象已建立,但是尚未初始化(尚未调用open方法)


1 (初始化)


对象已建立,尚未调用send方法


2 (发送数据)


send方法已调用,但是当前的状态及http头未知


3 (数据传送中)


已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,


4 (完成)


数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据


// 因为xmlHttp的编写方式固定,因此每一个步骤都会伴随着状态的改变,因此时刻监听事件处理句柄,执行相应的逻辑。


代码执行顺序:


var  xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");


xmlHttpReq.open("GET", "http://localhost/test.xml", false);


xmlHttpReq.send();


alert(xmlHttpReq.responseText);


 


2.2 方法



  1. open(Method, Url, Syn, User, Password);

创建一个新的xmlHttp对象时,实际上就是创建一个http请求。


此方法指定请求的方式(GET/POST/PUT/PROPFIND) URL、异步(默认情况为true)、验证信息。


采用异步方式(true)时,状态改变时会调用onreadystatechange属性指定的回调函数。



  1. send();

此方法的同步或异步方式取决于open方法中的Syn参数,如果Syn == false,此方法将会等待请求完成或者超时时才会返回,如果Syn == true,此方法将立即返回。

您可能感兴趣的文章:

  • 对xmlHttp对象的理解
  • XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
  • javascript XMLHttpRequest对象全面剖析
  • Ajax xmlHttpRequest的status的值的含义
  • javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
  • javascript对XMLHttpRequest异步请求的面向对象封装
  • Ajax创建XMLHttp对象的完美兼容性代码

《对xmlHttp对象方法和属性的理解.doc》

下载本文的Word格式文档,以方便收藏与打印。