XMLHttpRequest基础

1>运行周期
Ajax程序通过Javascript 时间触发,运行时调用XMLHttpRequest对象来发送请求和处理请求响应.客户端处理完响应后,XMLHttpRequest
对象会一直处于等待状态,知道接受下一次请求调用.
客户端->服务器 模式:
Ajax 中间层
客户端->获取请求->初始化->发送请求->服务器处理->返回数据
<----------------处理响应<----------------获取响应<-----------

2>Ajax实现的基本步骤
(1) 初始化xmlhttpRequest对象
(2) 指定响应处理函数 ( 只要将相应的处理函数名称赋给XMLHttpRequest对象的onreadystatechange=函数名 )
(3) 发出HTTP请求 调用open() 和 send() 注意先后顺序
(4) 处理服务器返回的信息
if(http_request.readyState==4)
{
if(http_request.status==200)//页面正常
}
else
{
}

3>XMLHttpRequest对象的属性
(1) onreadystatechange属性 每次状态改变都会触发这个事件处理器 ;
(2) readyState属性 用来表示请求的状态
0----表示未初始化 , 此时对象已建立 , 但是未初始化(没有调用open()方法)
1----表示正在加载 , 此时对象已建立 , 但是未调用send()
2----表示已经加载 , send()已调用 , 但是当前的状态以及http头未知
3----表示交互中 , 接收了部分数据 , 此时不能获取数据 因为响应和报文头不全
4----表示完成
(3) responseBody 当readtState=4时 可以通过此属性获取接收的数据(二进制字节流) byte[] strValue=http_request.responseBody
(4) responseStream 以Ado Stream 对象的形式返回响应 object strValue=xxxx.~
(5) responseText 字符串返回
(6) responseXML XML返回
(7) status
100~101 客户端接收到常规响应之前 100表示继续:初始请求已经接收客户端应当继续发送请求的其余部分
200~206 服务器成功接收请求 200一切正常
300~307 客户端必须采取更多操作来实现请求 300表示多选择:客户端请求的文档在多个位置找到
400~423 发生错误 404
500~505 服务器错误 505HTTP版本不支持

4>XMLHttpRequest对象的方法
open() 创建一个新的http请求
send() 发送请求到http服务器并接收回应
setRequestHeader() 单独指定请求的某个http头
getAllResponseHeaders(); 获取响应中所有的http头
getResponseHeader() 从响应信息中获取指定的http头
abort() 取消当前请求

 

 

 

 

 

 

 

posted @ 2013-05-21 15:21  keiling  阅读(177)  评论(0编辑  收藏  举报