-

AJAX - 服务器响应


 由于 HTTP 响应是由服务端发出的,并且服务器做出响应需要时间(比如网速慢等原因),所以我们需要监听服务器响应的状态,然后才能进行处理。
  • 状态行
    xhr.status状态码,如200,304,404等;
  • 响应主体
    xhr.responseTextxhr.responseXML都表示响应主体。

 如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的responseTextresponseXML属性。

属性 描述
responseText 获得字符串形式的响应数据。
responseXML 获得 XML 形式的响应数据。



responseText 属性

 如果来自服务器的响应并非 XML,请使用responseText属性。

 responseText属性返回字符串形式的响应,因此您可以这样使用:

实例

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

尝试一下 >>

  提示:对于responseText属性,只有当 readyState属性值变为4时,responseText属性才可用,因为这表明AJAX请求已经结束!


responseXML 属性

 如果来自服务器的响应是 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;

尝试一下 >>