ajax实现过程
XMLHttpRequest对象的属性和方法
1 代表准备发送。
2 已发送但还没收到响应
3 正在接收
4 接收完成
当readyState=4时,responseText才包含完整的响应信息。
当readyState=3时,responseText包含未完整的响应信息。
当readyState3时,responseText为空字符串。
该属性有值并且被解析成一个XML文档。
其它情况为null,包括回传的XML文档不良或未完成响应回传。
返回值:得到一个包含send()方法的对象
method:必须。用于指定HTTP方法如GET,POST,PUT....。按规定必须大写。
uri:请求发送到服务器相应的URI.自动解析成绝对地址。
async:请求是否异步,默认为true.
调用open后,readystate状态为1.
当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。
send(data)
data:可选。此处还有疑问。。
getAllResponseHeaders()方法返回所有的HttpResponse头部信息。
状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码。
首先XMLHttpRequest 对象用于在后台与服务器交换数据。
1.readyState属性
状态:0 代表未初始化。1 代表准备发送。
2 已发送但还没收到响应
3 正在接收
4 接收完成
2.responseText属性
包含客户端接收到的HTTP响应的文本内容。当readyState=4时,responseText才包含完整的响应信息。
当readyState=3时,responseText包含未完整的响应信息。
当readyState3时,responseText为空字符串。
3.responseXML属性
当readyState=4,并且响应头部的Content-Type的MIME类型为XML(textxml或applicationxml)时,该属性有值并且被解析成一个XML文档。
其它情况为null,包括回传的XML文档不良或未完成响应回传。
4.status及statusText属性(描述http状态代码,及代码文本)
当readyState2,才能访问,否则出现异常。5.onreadystatechange事件
当readyState属性发生变化时触发此事件,用于触发回调函数。6.open方法
open(method, uri, async, username, password) 用来进行初始化工作返回值:得到一个包含send()方法的对象
method:必须。用于指定HTTP方法如GET,POST,PUT....。按规定必须大写。
uri:请求发送到服务器相应的URI.自动解析成绝对地址。
async:请求是否异步,默认为true.
调用open后,readystate状态为1.
7.send()方法
调用open 方法后,可以调用send()方法来发送请求。当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。
send(data)
data:可选。此处还有疑问。。
8.abort()方法
该方法可以暂停一个HttpRequest请求或者HttpResponse的接收,并且将XMLHttpRequest的状态设置为初始化。9.setRequestHeader(header,value)方法
该方法用来设置请求的头部信息。在调用open()后调用这个方法。否则将得到一个异常。
10.getResponseHeader()方法
当readystate2时,该方法用来检索响应的头部信息。否则返回一个空字符串。getAllResponseHeaders()方法返回所有的HttpResponse头部信息。
11.onreadystatechange 是一个事件句柄.
它的值 (state_Change) 是一个函数的名称,当 XMLHttpRequest 对象的状态发生改变时,会触发此函数。状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码。