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

 更新时间:2011年01月17日 22:54:41   作者:  
客户端可以通过xmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用文档对象模型(DOM)处理回应。
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,此方法将立即返回。

相关文章

  • javascript 全选与全取消功能的实现代码

    javascript 全选与全取消功能的实现代码

    全选与全取消在工作过程中经常会使用到,是因为它很方便,同时可以提高用户体验值,本文介绍如何使用javascript实现全选与全取消功能,需要了解的朋友可以参考下
    2012-12-12
  • JavaScript中使用指数方法Math.exp()的简介

    JavaScript中使用指数方法Math.exp()的简介

    这篇文章主要介绍了JavaScript中使用指数方法Math.exp(),是JS入门学习中的基础知识,需要的朋友可以参考下
    2015-06-06
  • 你必须知道的JavaScript 变量命名规则详解

    你必须知道的JavaScript 变量命名规则详解

    在编写代码的时候难免涉及到变量的命名问题,不能只要求变量名的语法正确,而忽略了变量命名对代码可读性的影响
    2013-05-05
  • JavaScript 学习笔记(十五)

    JavaScript 学习笔记(十五)

    事件是DOM(文档对象模型)的一部分。事件流就是事件发生顺序,这是IE和其他浏览器在事件支持上的主要差别。
    2010-01-01
  • js nextSibling属性和previousSibling属性概述及使用注意

    js nextSibling属性和previousSibling属性概述及使用注意

    nextSibling属性:该属性表示当前节点的下一个节点;如果其后没有与其同级的节点,则返回null;previousSibling属性:该属性与nextSibling属性的作用正好相反,接下来将详细介绍下,感兴趣的你不妨了解下哦,或许对你有所帮助
    2013-02-02
  • JavaScript数值类型知识汇总

    JavaScript数值类型知识汇总

    这篇文章主要给大家介绍了关于JavaScript数值类型知识汇总的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • JS Attribute属性操作详解

    JS Attribute属性操作详解

    下面小编就为大家带来一篇JS Attribute属性操作详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • JavaScript的代码编写格式规范指南

    JavaScript的代码编写格式规范指南

    这篇文章主要介绍了JavaScript的代码编写格式规范指南,文中所分享的一些细节基本上也是各大js代码格式化插件所默认约定俗成的,需要的朋友可以参考下
    2015-12-12
  • 用JavaScript显示浏览器客户端信息的超相近教程

    用JavaScript显示浏览器客户端信息的超相近教程

    这篇文章主要介绍了用JavaScript显示浏览器客户端信息的超相近教程,包含了从返回桌面浏览器客户端内核信息到移动端浏览器以及其使用的系统版本信息等内容,倾力推荐!需要的朋友可以参考下
    2015-06-06
  • js修改地址栏URL参数解决url参数问题

    js修改地址栏URL参数解决url参数问题

    现在做网页,经常会碰到处理地址栏参数的问题,因此,就专门做了一个修改地址栏参数的方法,需要了解的朋友可以参考下
    2012-12-12

最新评论