下面是XML格式异步获取代码:
点击不同的a连接,获取不同的xml文本中的数据
<%-- Created by IntelliJ IDEA. User: Administrator Date: 2019/6/26 Time: 10:57 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>XML格式传输</title> <style> #detail{ width: 200px ; height: 200px; border: 1px red dotted; } a:hover{ color: red; } </style> <script> window.onload = function () { var as = document.getElementsByTagName("a"); for(var i=0; i<as.length;i++){ as[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){ //结果为xml格式,所以需要使用resposeXML来获取 var result = request.responseXML; //结果不能直接使用,必须先创建对应的节点,在把节点放入到#detail中 /* 目标格式为: <h2><a href="mailto:cearleft.com">Andy Budd</a></h2> */ var name = result.getElementsByTagName("name")[0].firstChild.nodeValue; var website = result.getElementsByTagName("website")[0].firstChild.nodeValue; var email = result.getElementsByTagName("email")[0].firstChild.nodeValue; // alert(name); var aNode = document.createElement("a"); aNode.appendChild(document.createTextNode(name)); aNode.href = "https://www.baidu.com"; var detail = document.getElementById("detail"); detail.innerText = ""; detail.appendChild(aNode); } } }; return false; } } } </script> </head> <body> <a href="jeremy.xml">点击我获取jeremy数据</a><br> <a href="Andy.xml">点击我获取Andy的数据</a><br> <a href="Richard.xml">点击我获取Richard的数据</a> <div id="detail"></div> </body> </html>
获取的xml文本的代码如下:
<?xml version="1.0" encoding="UTF-8" ?> <details> <name>Andy chen</name> <website>http://andy.com</website> <email>andy@clearleft.com</email> </details>
<?xml version="1.0" encoding="UTF-8" ?> <details> <name>Jeremy Keith</name> <website>http://adactio.com</website> <email>jeremy@clearleft.com</email> </details>
<?xml version="1.0" encoding="UTF-8" ?> <details> <name>Richar Keith</name> <website>http://richard.com</website> <email>richard@clearleft.com</email> </details>
原文:https://www.cnblogs.com/huangpeideng/p/11089092.html