1、XMLHttpRequest
IE:
var xmlHttpReq = new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlHttpReq.open("GET", "http://localhost/books.xml", false);
xmlHttpReq.send();
alert(xmlHttpReq.responseText);
非IE:
var xmlHttpReq = new XMLHttpRequest();
xmlHttpReq.open("GET", "http://localhost/books.xml", false);
xmlHttpReq.send();
alert(xmlHttpReq.responseText);
Or:
var req;
function initRequest()
{
if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}else if(window.ActiveXObject){
req = new ActiveXObject("MicrosoftXMLHTTP");
}
}
2、XMLHttpRequest 成员
属性:
onreadystatechange 指定当readyState属性值改变的时间处理句柄。(只写)
readyState 返回当前请求的状态。(只读)
responseBody 将回应信息正文以unsigned byte数组形式返回。(只读)
responseSteam 以Ado Steam 对象的形式返回响应信息。(只读)
responseText 将响应信息作为字符串返回。(只读)
responseXML 将响应信息格式化为Xml Document 对象并返回。(只读)
status 返回当前请求的http状态码。(只读)
statusText 返回当前请求的响应行代码。(只读)
方法:
abort 取消当前请求
getAllResponseHeaders 获取响应的所有http头
getResponseHeader 从响应信息中获取指定的http头
open 创建一个新的http请求,并指定此请求的方法、URL以及验证信息
send 发送请求到http服务器并接受回应
sendRequestHeader 单独指定请求的某个http头
3、readyState
0(未初始化) 对象已建立,但尚未初始化(尚未调用open 方法)
1(初始化) 对象已建立,尚未调用send方法
2(发送数据)send方法已调用,但是当前的状态及http头未知
3(数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出错
4(完成) 数据接收完毕,此时可以通过responseBody和responseText获取完整的回应数据
4、status
Number | Description |
100 | Continue |
101 | Switching protocols |
200 | Ok |
201 | Created |
202 | Accepted |
203 | Non-Authoritative Infomation |
204 | No Content |
205 | Reset Content |
206 | Patial Content |
300 | Multiple Choices |
301 | Moved Permanently |
302 | Found |
303 | See Other |
304 | Not Modified |
305 | Use Proxy |
307 | Temporary Redirect |
400 | Bad Request |
401 | Unauthorized |
402 | Paymend Required |
403 | Fobidden |
404 | Not Found |
405 | Method Not Allowed |
406 | Not Acceptable |
407 | Proxy Authentication Requried |
408 | Request Timeout |
409 | Conflict |
410 | Gone |
411 | Length Required |
412 | Precondition Failed |
413 | Request Entity Too Large |
414 | Request-Url Too Long |
415 | Unsupported Media Type |
416 | Requested Range Not Suitable |
417 | Expertation Failed |
500 | Internal Server Error |
501 | Not Implemented |
502 | Bad GateWay |
503 | Service Unavailable |
504 | GateWay Timeout |
505 | Http Version Not Supported |