由于 HTTP 响应是由服务端发出的,并且服务器做出响应需要时间(比如网速慢等原因),所以我们需要监听服务器响应的状态,然后才能进行处理。
xhr.status
状态码,如200,304,404等;xhr.responseText
与xhr.responseXML
都表示响应主体。如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的responseText
或responseXML
属性。
属性 | 描述 |
---|---|
responseText | 获得字符串形式的响应数据。 |
responseXML | 获得 XML 形式的响应数据。 |
如果来自服务器的响应并非 XML,请使用responseText
属性。
responseText
属性返回字符串形式的响应,因此您可以这样使用:
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
提示:对于responseText
属性,只有当 readyState
属性值变为4时,responseText
属性才可用,因为这表明AJAX请求已经结束!
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用responseXML
属性:
请求 cd_catalog.xml 文件,并解析响应:
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
{
txt=txt + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("myDiv").innerHTML=txt;