以下列出XMLHttpRequest对象方法和属性,红色标记为最有可能用到的
相关方法:
abort() 停止当前请求
getAllResponseHeaders() 把HTTP请求的所有响应首部作为键/值对返回
getResponseHeader("header") 返回指定首部的串值
open("method", "url") 建立对服务器的调用。
send(content) 向服务器发送请求
setRequestHeader("header", "value") 把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()
相关属性:
onreadystatechange 状态改变时都会触发这个事件处理器,通常调用一个JavaScript函数
readyState 请求的状态0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
responseText 服务器的响应,表示为一个串
responseXML 服务器的响应,表示为XML。这个对象可以解析为一个DOM对象
status 服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),
statusText HTTP状态码的相应文本(OK或Not Found(未找到)等等)
一个标准的 XMLHttpRequest对象实现ajax的步骤
<script type="text/javascript">
var xmlHttp;
//函数一:创建XMLHttpRequest对象
function createXMLHttpRequest() {
//IE不同版本
if (window.ActiveXObject) {
try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}
}
//非IE
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
//函数二:将被调用的函数
function startRequest () {
createXMLHttpRequest();
var url = "XXX.ashx?"+new Date().getTime();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
//函数三:状态改变的时候触发的事件函数
function handleStateChange() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
var result = xmlHttp.responseText;
document.getElementById("validateMessage").innerText = result;
}
}
}
</script>