AJAX - 服务器响应

服务器响应

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

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

responseText 属性

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

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

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

responseXML 属性

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

请求 books.xml 文件,

  1. <bookstore>
  2. <book category="children">
  3. <title lang="en">Harry Potter</title>
  4. <author>J K. Rowling</author>
  5. <year>2005</year>
  6. <price>29.99</price>
  7. </book>
  8. <book category="cooking">
  9. <title lang="en">Everyday Italian</title>
  10. <author>Giada De Laurentiis</author>
  11. <year>2005</year>
  12. <price>30.00</price>
  13. </book>
  14. <book category="web" cover="paperback">
  15. <title lang="en">Learning XML</title>
  16. <author>Erik T. Ray</author>
  17. <year>2003</year>
  18. <price>39.95</price>
  19. </book>
  20. <book category="web">
  21. <title lang="en">XQuery Kick Start</title>
  22. <author>James McGovern</author>
  23. <author>Per Bothner</author>
  24. <author>Kurt Cagle</author>
  25. <author>James Linn</author>
  26. <author>Vaidyanathan Nagarajan</author>
  27. <year>2003</year>
  28. <price>49.99</price>
  29. </book>
  30. </bookstore>

并解析响应:

  1. xmlDoc=xmlhttp.responseXML;
  2. txt="";
  3. x=xmlDoc.getElementsByTagName("ARTIST");
  4. for (i=0;i<x.length;i++)
  5. {
  6. txt=txt + x[i].childNodes[0].nodeValue + "<br />";
  7. }
  8. document.getElementById("myDiv").innerHTML=txt;