Ajax——javascript之xlm篇

<script type="text/javascript">
	window.onload = function() {
		var aNodes = document.getElementsByTagName("a");
		for(var i = 0; i < aNodes.length; i++) {
			aNodes[i].onclick = function() {

				var request = new XMLHttpRequest();
				var method = "GET";
				var url = this.href;

				request.open(method, url);
				request.send(null);

				request.onreadystatechange = function() {
					if(request.readyState == 4) {
						if(request.status == 200 || request.status == 304) {
							//1. 结果为XML格式,所以需要使用responseXML 来获取
							var result = request.responseXML;

							//2.结果不能直接使用,必须先创建对应的节点,再把节点加入到#details中
							//目标格式为:
							/*
							* <h2><a href="mailto:andy@clearleft.com">Andy Budd</a></h2>
							  <a href="http://andybudd.com/">http://andybudd.com/</a>
							*/
							var name = result.getElementsByTagName("name")[0].firstChild.nodeValue;
							var website = result.getElementsByTagName("website")[0].firstChild.nodeValue;
							var email = result.getElementsByTagName("email")[0].firstChild.nodeValue;

							var aNode = document.createElement("a");
							aNode.appendChild(document.createTextNode(name));
							aNode.href = "mailto:" + email;

							var h2Node = document.createElement("h2");
							h2Node.appendChild(aNode);

							var aNode2 = document.createElement("a");
							aNode2.appendChild(document.createTextNode(website));
							aNode2.href = "mailto:" + email;

							var detailsNode = document.getElementById("details");
							detailsNode.innerHTML = "";
							detailsNode.appendChild(h2Node);
							detailsNode.appendChild(aNode2);
						}
					}
				}

				return false;
			}
		}
	}
</script>


Ajax具体用法同Ajax——javascript之html篇

不同点为XML文档的解析方式,需要获取每一个xml中的自定义节点,较为复杂。

XML格式代码如下:

<?xml version="1.0" encoding="utf-8"?>
<details>
	<name>Jeremy Keith</name>
	<website>http://adactio.com/</website>
	<email>mailto:jeremy@clearleft.com</email>
</details>

总结:

 优点:
    1.XML是一种通用的数据格式
    2.不必把数据强加到已定义好的格式中,而是要为数据自定义合适的标记
    3.利用DOM可以完全掌控文档
 缺点:
     1.如果文档来自于服务器,就必须得保证文档含有正确的首部信息。若文档类型不正确,那么responseXML的值将是空的
     2.当浏览器接收到长的XML文件后,DOM解析可能会很复杂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值