AJAX XHR响应

AJAX - 服务器响应


由于 HTTP 响应是由服务端发出的,并且服务器做出响应需要时间(比如网速慢等原因),所以我们需要监听服务器响应的状态,然后才能进行处理。

  • 状态行 
    xhr.status状态码,如200,304,404等; 

  • 响应主体 
    xhr.responseText与xhr.responseXML都表示响应主体。 

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

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

responseText 属性

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

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

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

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

responseXML 属性

如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用responseXML属性:

请求books.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;