值 描述
0 未初始化,对象没有用数据进行初始化。
1 装载中,对象正在装载它 的数据。
2 装载结束,对象完成了它的数据的装载。
3 可交互,用户能与对象交互了, 尽管它还没有装载结束。
4 完成,对象已经完全被初始化。
W3C中有很长的一串有关HTTP 状态代码的定义。我选择了两个状态代码:
200:请求成功了。
404:服务器没有找到与所 请求的文件相匹配的任何东西。
最后,我检查任何另外的状况代码-它们将生成一个错误并提供 一个一般错误信息。下面是一个代码示例-你可以用之来处理这些情况。注意,我在定位我们前面在HTML 文件的主体中创建的div ID并且对它应用装载和/或错误信息-通过innerHTML方法-这个方法用于设置在 div对象的开始和结束标签之间的HTML:
| if(obj.readyState == 0) { document.getElementById('copy').innerHTML = "Sending Request..."; } if(obj.readyState == 1) { document.getElementById('copy').innerHTML = "Loading Response..."; } if(obj.readyState == 2) { document.getElementById('copy').innerHTML = "Response Loaded..."; } if(obj.readyState == 3) { document.getElementById('copy').innerHTML = "Response Ready..."; } if(obj.readyState == 4){ if(obj.status == 200){ return true; } else if(obj.status == 404) { // 添加一个定制消息或把用户重定 向到另外一个页面 document.getElementById('copy').innerHTML = "File not found"; } else {document.getElementById('copy').innerHTML = "There was a problem retrieving the XML."; } } |
当状况代码为200 时,这意味着请求成功。下面开始进行响应了。
七、分析响应
当你准备好分析来自请求 对象的响应时,真正的工作开始了。现在你可以用你请求的数据开始工作。仅为测试目的,在开发期间 ,可以使用responseText和responseXML属性来显示来自响应的原始数据。为了存取XML响应中的结点, 首先使用你创建的请求对象,定位到responseXML属性以检索(你可能已经猜测出来)来自响应的XML。定 位到documentElement-它检索一个到XML响应的根结点的参考。
| var response = request.responseXML.documentElement; |
现在既然你有了到响应的根结点的参考,那么你可以使 用getElementsByTagName()以结点名字来检索childNodes。下面一行用一个头部的nodeName来定位一个 childNode:









