网络开发人员总是抱怨基于浏览器的应用软件的无状态性
就是说
一旦向服务器发出数据请求
且数据发送完毕后
所产生的连接即会断开
随后的数据请求又要建立新的连接
虽然可以应用许多方法
如cookie或ASP
NET之类的专利技术
将数据保存在客户端
但XMLHttpRequest对象提供一种减少响应时间的标准方法
浏览器中的XML
XMLHttpRequest对象是AJAX(异步JavaScript+XML)开发范例的焦点所在但它并非最近才出现微软最先在Windows IE中将XMLHttpRequest对象应用为ActiveX对象Mozilla也在它的Mozilla (与Netscape )中应用了它的一个本地兼容版本苹果也在它的Safari 中应用此对象加入WC DOM规格更使其成为网络开发的标准
XMLHttpRequest对象允许JavaScript不需重新装载页面即可发送HTTP请求实质上HTTP请求是通过后台收到的响应来发送的但是由于没有可见的中断产生用户完全意识不到后台的处理过程而会继续工作对开发人员来说这真是意外的收获导致了能够实时向服务器发送数据的响应用户界面
方法
XMLHttpRequest对象包含少量的方法如下所示
abort()终止当前请求
getAllResponseHeaders()返回一个包含整套头标签与值的字符串
getResponseHeader(名称)返回特定头标签的字符串值
open(方法url异步标志用户名密码)替即将发生的请求执行安装功能并允许你指定URL方法(通常获得或提交)以及异步标志的可选参数用户名与密码
sent(内容)发送(由open方法建立)的请求可选内容参数可能包含字符串或DOM格式数据
setRequestHeader(标签值)允许你指定与请求(由send方法建立)一同发送的标签/值对
open方法的第三个可选参数是一个布尔代数值它对你是否异步处理即将发生的交易进行控制这也是AJAX首字母缩写异步部分进入图片的地方异步处理为边默认行为(真)就是说在调用send()方法后不用等待响应就立即执行脚本处理如果将此值设为假此脚本等待发出请求服务器做出反映后再执行