codecamp

AJAX XHR-响应

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;

尝试一下 »


AJAX XHR-请求
AJAX XHR-readyState
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }