课程表

AJAX 基础

AJAX XHR

AJAX 高级

AJAX 实例

工具箱
速查手册

AJAX XML 文件

当前位置:免费教程 » JS/JS库/框架 » AJAX

AJAX 可用来与 XML 文件进行交互式通信。

AJAX XML 实例

下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息:

亲自试一下获得XML文件中的 CD 信息

实例解释 - loadXMLDoc() 函数

当用户点击上面的“获得 CD 信息”这个按钮,就会执行 loadXMLDoc() 函数。

loadXMLDoc() 函数创建 XMLHttpRequest 对象,添加当服务器响应就绪时执行的函数,并将请求发送到服务器。

当服务器响应就绪时,会构建一个 HTML 表格,从 XML 文件中提取节点(元素),最后使用已经填充了 XML 数据的 HTML 表格来更新 txtCDInfo 占位符:

  1. function loadXMLDoc(url)
  2. {
  3. var xmlhttp;
  4. var txt,xx,x,I;
  5. if (window.XMLHttpRequest)
  6. {// code for IE7+, Firefox, Chrome, Opera, Safari
  7. xmlhttp=new XMLHttpRequest();
  8. }
  9. else
  10. {// code for IE6, IE5
  11. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  12. }
  13. xmlhttp.onreadystatechange=function()
  14. {
  15. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  16. {
  17. txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>";
  18. x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
  19. for (i=0;i<x.length;i++)
  20. {
  21. txt=txt + "<tr>";
  22. xx=x[i].getElementsByTagName("TITLE");
  23. {
  24. try
  25. {
  26. txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
  27. }
  28. catch (er)
  29. {
  30. txt=txt + "<td> </td>";
  31. }
  32. }
  33. xx=x[i].getElementsByTagName("ARTIST");
  34. {
  35. try
  36. {
  37. txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
  38. }
  39. catch (er)
  40. {
  41. txt=txt + "<td> </td>";
  42. }
  43. }
  44. txt=txt + "</tr>";
  45. }
  46. txt=txt + "</table>";
  47. document.getElementById('txtCDInfo').innerHTML=txt;
  48. }
  49. }
  50. xmlhttp.open("GET",url,true);
  51. xmlhttp.send();
  52. }

AJAX 服务器页面

上面这个例子中使用的服务器页面实际上是一个 XML 文件,名为 "cd_catalog.xml"。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号