对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年份下拉列表框内容为当前年份及前后50年
May 28 Javascript
浅谈JavaScript的事件
Feb 27 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
Feb 14 Javascript
JavaScript实现广告弹窗效果
Aug 09 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
Sep 02 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
BootStrap Table后台分页时前台删除最后一页所有数据refresh刷新后无数据问题
Dec 28 Javascript
Vue路由history模式解决404问题的几种方法
Sep 29 Javascript
angularJs中ng-model-options设置数据同步的方法
Sep 30 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
JS实现吸顶特效
Jan 08 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 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
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
用于table内容排序
2006/07/21 Javascript
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
js去除空格的12种实用方法
2013/11/08 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
2017/05/17 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
NodeJS实现同步的方法
2019/03/02 NodeJs
Python创建模块及模块导入的方法
2015/05/27 Python
Python实现的彩票机选器实例
2015/06/17 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
python更新数据库中某个字段的数据(方法详解)
2020/11/18 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
行政助理岗位职责
2013/11/10 职场文书
汽车专业毕业生推荐信
2013/11/12 职场文书
卫生标语大全
2014/06/21 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
2015年推普周活动方案
2015/05/06 职场文书
工作年限证明模板
2015/06/15 职场文书