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


Posted in Javascript onJanuary 17, 2011

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同时提交多个Web表单的方法
Dec 26 Javascript
子窗口、父窗口和Silverlight之间的相互调用
Aug 16 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
vue轮播图插件vue-awesome-swiper的使用代码实例
Jul 10 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
详解http访问解析流程原理
Oct 18 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 Javascript
vue与django集成打包的实现方法
Nov 11 Javascript
JavaScript简易计算器制作
Jan 17 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
JavaScript分页组件使用方法详解
Jul 26 Javascript
Grid得到选择行数据的方法总结
Jan 17 #Javascript
JS中confirm,alert,prompt函数区别分析
Jan 17 #Javascript
JavaScript flash复制库类 Zero Clipboard
Jan 17 #Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 #Javascript
js 数据类型转换总结笔记
Jan 17 #Javascript
简短几句 通俗解释javascript的闭包
Jan 17 #Javascript
javascript 内存回收机制理解
Jan 17 #Javascript
You might like
让你的网站首页自动选择语言转跳
2006/12/06 PHP
PHP函数utf8转gb2312编码
2006/12/21 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
php实现生成验证码实例分享
2016/04/10 PHP
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
JS生成和下载二维码的代码
2016/12/07 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python基于二分查找实现求整数平方根的方法
2016/05/12 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python放大图片和画方格实现算法
2018/03/30 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
土木工程毕业生推荐信
2013/10/28 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
家长学校工作方案
2014/05/07 职场文书
合作协议书格式
2014/08/19 职场文书
学雷锋的心得体会
2014/09/04 职场文书
合作经营协议书范本
2014/09/16 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书