1.XMLHttpRequest对象
XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。
XMLHttpRequest最早是在IE5中以ActiveX组件的形式实现的。非W3C标准。创建XMLHttpRequest对象(由于非标准所以实现方法不统一)。Internet Explorer把XMLHttpRequest实现为一个ActiveX对象其他浏览器(Firefox、Safari、Opera…)把它实现为一个本地的JavaScript对象。
XMLHttpRequest在不同浏览器上的实现是兼容的,所以可以用同样的方式访问XMLHttpRequest实例的属性和方法,而不论这个实例创建的方法是什么。
XMLHttpRequest对象方法
方法 |
描述 |
abort() |
停止当前请求 |
getAllResponseHeaders() |
把http请求的所有响应首部作为键/值对返回 |
getResponseHeader("headerLabel") |
返回指定首部的串值 |
open(method,url,async) |
规定请求的类型、URL 以及是否异步处理请求。 method:请求的类型;GET 或 POST url:文件在服务器上的位置 async:true(异步)或 false(同步) |
send(content) |
向服务器发送请求 |
setRequestHeader("label", "value") |
把指定首部设置为所提供的值。在设置任何首部之前必须先调用open() |
XMLHttpRequest对象属性
?
2.发送请求--方法和属性介绍
利用XMLHttpRequest实例与服务器进行通信包含以下3个关键部分:onreadystatechange事件处理函数、open 方法、send 方法 。
onreadystatechange:
该事件处理函数由服务器触发,而不是用户;在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。这依靠更新 XMLHttpRequest 对象的 readyState 来实现。改变 readyState?属性是服务器对客户端连接操作的一种方式。每次 readyState 属性的改变都会触发 readystatechange事件!
open(method, url, asynch):
XMLHttpRequest?对象的 open?方法允许程序员用一个Ajax调用向服务器发送请求。method:请求类型,类似 “GET”或”POST”的字符串。若只想从服务器检索一个文件,而不需要发送任何数据,使用GET(可以在GET请求里通过附加在URL上的查询字符串来发送数据,不过数据大小限制为2000个字符)。若需要向服务器发送数据,用POST。在某些情况下,有些浏览器会把多个XMLHttpRequest请求