readyState
在ajax实际运行的过程中,访问XMLHttpRequest不是一次性完成的,期间经历了多种状态。 readyState共有五个值,分别为1,2,3,4,5,表示ajax对象与服务器通讯的状态。
- 0-(请求初始化)还未调用send()方法,XMLHttpRequest对象存在,但还未进行初始化。
- 1-(与服务器的链接已建立)已经调用了open(),开始向服务端发送请求。
- 2-(请求接收)send()完成,接收服务器的响应数据。
- 3-(处理请求)解析服务器响应的数据,返回了部分数据。
- 4-(完成)数据解析完成及全部返回,响应就绪。
onreadystatechange
绑定一个事件处理函数,该函数用于处理onreadystatechange事件。当readyState的值发生改变时就会调用此函数。
例如:
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
这里的onreadystatechange被触发了五次。
responseText
获得服务器返回的文本数据,类型为String。
例如上一个代码块中的:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
responseXML
获得服务器返回的文档数据,返回一个包含请求检索的HTML或XML的Document,如果请求未成功,尚未发送,或者检索的数据无法正确解析为 XML 或 HTML,则为 null。
status
状态码,常用的返回状态值我们可以分为四类:
200-206:服务器处理请求的状态代码成功,网页可以正常访问 。
300-307:重定向响应,需接收进一步处理。
400-417:客户端错误,客户请求有误,影响服务器的处理。
500-505:服务器端错误。
其中最为常见的为:
-
200:请求成功。
-
404:服务器找不到请求的页面。