i. XMLHttpRequest对象的简单的属性:
1) onreadystatechange:该属性用于指定XMLHttpRequest对象状态改变时的事件处理函数。
2) readyState:该属性用于获取XMLHttpRequest对象处理状态
3) responseText:该属性用于获取服务器响应的XML文档对象
4) status:该属性是服务器返回的状态码,只有当服务器的响应已经完成时,才会有该状态码
5) statusText:该属性是服务器返回的状态文本信息,只有当服务器的响应已经完成时,才会有该状态文本信息。
ii. XMLHttpRequest的状态:
1) 0:XMLHttpRequest对象还没有完成初始化
2) 1:XMLHttpRequest对象开始发送请求
3) 2:XMLHttpRequest对象的请求发送完成
4) 3:XMLHttpRequest对象开始读取服务器的响应
5) 4:XMLHttpRequest对象读取服务器响应结束
我们继续上一节所说的getAllResponseHeaders()的例子。只是我们的回调函数改了下面的几种情况,那么对应的结果也是不一样的。(源码链接:http://pan.baidu.com/s/1bpLUsAN 密码:trws ;请自己做修改)
1) 输出XMLHttpRequest对象的状态(first.html)
// XMLHttpRequest对象状态改变时的事件处理函数 function processResponse() { // 输出XMLHttpRequest对象的状态。 alert(xmlrequest.readyState); }
结果的值依次是1、2、3、4,这些就是XMLHttpRequest的状态对应的值。
2) 使用status和statusText的属性,输入服务的状态。下面我们的回调函数做判断,如果,服务器响应结束,那么就要输出服务器的状态。当然,为了模拟服务器异常,我们可以在second.jsp加上空指针异常。
// XMLHttpRequest对象状态改变时的事件处理函数 function processResponse() { // 当服务器响应完成时 if(xmlrequest.readyState == 4) { // 输出服务器相应的状态码和状态提示 alert(xmlrequest.status + "\n" + xmlrequest.statusText); } }
<% // 定义一个空字符串。 String a = null; // 让下面的语句引发空指针异常 out.println(a.length()); %>
结果: