Heim >Web-Frontend >js-Tutorial >AJAX-Verarbeitungsmethode für vom Server zurückgegebenes XML
In diesem Artikel wird hauptsächlich die AJAX-Verarbeitungsmethode für vom Server zurückgegebene XML vorgestellt. Er analysiert die Implementierungsfähigkeiten von Ajax und die Verarbeitungsmethode für von XML zurückgegebene Daten.
Die Beispiele von In diesem Artikel wird die AJAX-Verarbeitungsmethode für vom Server zurückgegebenes XML beschrieben. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
Wenn die Serverseite in AJAX ein XML-Dokument zurückgibt, kann sie die XML-Daten über das ResponseXML-Attribut des asynchronen Objekts abrufen. Entwickler können DOM-bezogene Methoden verwenden, um es zu verarbeiten.
Angenommen, das vom Server zurückgegebene XML-Dokument lautet wie folgt:
<?xml version="1.0" encoding="gb2312"?> <list> <caption>Member List</caption> <member> <name>isaac</name> <class>W13</class> <birth>Jun 24th</birth> <constell>Cancer</constell> <mobile>1118159</mobile> </member> <member> <name>fresheggs</name> <class>W610</class> <birth>Nov 5th</birth> <constell>Scorpio</constell> <mobile>1038818</mobile> </member> <member> <name>girlwing</name> <class>W210</class> <birth>Sep 16th</birth> <constell>Virgo</constell> <mobile>1307994</mobile> </member> <member> <name>tastestory</name> <class>W15</class> <birth>Nov 29th</birth> <constell>Sagittarius</constell> <mobile>1095245</mobile> </member> <member> <name>lovehate</name> <class>W47</class> <birth>Sep 5th</birth> <constell>Virgo</constell> <mobile>6098017</mobile> </member> <member> <name>slepox</name> <class>W19</class> <birth>Nov 18th</birth> <constell>Scorpio</constell> <mobile>0658635</mobile> </member> <member> <name>smartlau</name> <class>W19</class> <birth>Dec 30th</birth> <constell>Capricorn</constell> <mobile>0006621</mobile> </member> <member> <name>tuonene</name> <class>W210</class> <birth>Nov 26th</birth> <constell>Sagittarius</constell> <mobile>0091704</mobile> </member> <member> <name>dovecho</name> <class>W19</class> <birth>Dec 9th</birth> <constell>Sagittarius</constell> <mobile>1892013</mobile> </member> <member> <name>shanghen</name> <class>W42</class> <birth>May 24th</birth> <constell>Gemini</constell> <mobile>1544254</mobile> </member> <member> <name>venessawj</name> <class>W45</class> <birth>Apr 1st</birth> <constell>Aries</constell> <mobile>1523753</mobile> </member> <member> <name>lightyear</name> <class>W311</class> <birth>Mar 23th</birth> <constell>Aries</constell> <mobile>1002908</mobile> </member> </list>
Der Client erhält die XML-Daten vom Server und zeigt sie an in der Tabelle. Der Code lautet wie folgt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>responseXML</title> <style> <!-- .datalist{ border:1px solid #744011; /* 表格边框 */ font-family:Arial; border-collapse:collapse; /* 边框重叠 */ background-color:#ffd2aa; /* 表格背景色 */ font-size:14px; } .datalist th{ border:1px solid #744011; /* 行名称边框 */ background-color:#a16128; /* 行名称背景色 */ color:#FFFFFF; /* 行名称颜色 */ font-weight:bold; padding-top:4px; padding-bottom:4px; padding-left:12px; padding-right:12px; text-align:center; } .datalist td{ border:1px solid #744011; /* 单元格边框 */ text-align:left; padding-top:4px; padding-bottom:4px; padding-left:10px; padding-right:10px; } .datalist tr:hover, .datalist tr.altrow{ background-color:#dca06b; /* 动态变色 */ } input{ /* 按钮的样式 */ border:1px solid #744011; color:#744011; } --> </style> <script language="javascript"> var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject) xmlHttp = new ActiveXObject("Microsoft.XMLHttp"); else if(window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); } function getXML(addressXML){ var url = addressXML + "?timestamp=" + new Date(); createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("GET",url); xmlHttp.send(null); } function addTableRow(sName, sClass, sBirth, sConstell, sMobile){ //表格添加一行的相关操作,可参看7.2.1节 var oTable = document.getElementById("member"); var oTr = oTable.insertRow(oTable.rows.length); var aText = new Array(); aText[0] = document.createTextNode(sName); aText[1] = document.createTextNode(sClass); aText[2] = document.createTextNode(sBirth); aText[3] = document.createTextNode(sConstell); aText[4] = document.createTextNode(sMobile); for(var i=0;i<aText.length;i++){ var oTd = oTr.insertCell(i); oTd.appendChild(aText[i]); } } function DrawTable(myXML){ //用DOM方法操作XML文档 var oMembers = myXML.getElementsByTagName("member"); var oMember = "", sName = "", sClass = "", sBirth = "", sConstell = "", sMobile = ""; for(var i=0;i<oMembers.length;i++){ oMember = oMembers[i]; sName = oMember.getElementsByTagName("name")[0].firstChild.nodeValue; sClass = oMember.getElementsByTagName("class")[0].firstChild.nodeValue; sBirth = oMember.getElementsByTagName("birth")[0].firstChild.nodeValue; sConstell = oMember.getElementsByTagName("constell")[0].firstChild.nodeValue; sMobile = oMember.getElementsByTagName("mobile")[0].firstChild.nodeValue; //添加一行 addTableRow(sName, sClass, sBirth, sConstell, sMobile); } } function handleStateChange(){ if(xmlHttp.readyState == 4 && xmlHttp.status == 200) DrawTable(xmlHttp.responseXML);//responseXML获取到XML文档 } </script> </head> <body> <input type="button" value="获取XML" onclick="getXML('9-4.xml');"><br><br> <table class="datalist" summary="list of members in EE Studay" id="member"> <tr> <th scope="col">Name</th> <th scope="col">Class</th> <th scope="col">Birthday</th> <th scope="col">Constellation</th> <th scope="col">Mobile</th> </tr> </table> </body> </html>
Wir können sehen, dass der Code zum Abrufen der XML-Datei auf dem Client wie folgt lautet:
<input type="button" value="获取XML" onclick="getXML('9-4.xml');">
Mit anderen Worten: XML-Daten werden direkt abgerufen. In der tatsächlichen Entwicklung wird die Arbeit zur Rückgabe von XML-Daten dynamisch durch serverseitigen Code (z. B. ASP.NET, JSP usw.) generiert. Mit anderen Worten: Die Dateiadresse in getXML('...') sollte das Suffix einer dynamischen Seite wie .aspx oder .jsp sein.
Verwenden Sie das jQuery-Framework zur Implementierung
Wenn Sie das jQuery-Framework auf dem Client verwenden, implementieren Sie AJAX, um die XML-Daten auf der Serverseite abzurufen.
Der Code lautet wie folgt:
demo <input type="button" value="获取XML" onclick="getXML('9-4.xml');">
Name | Class | Birthday | Constellation | Mobile |
---|
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es für alle hilfreich sein wird Zukunft.
Verwandte Artikel:
Detaillierte Erklärung der Ajax-Synchronisation und Asynchronität in JQuery
So implementieren Sie ASP.NET und Ajax
Wie JQuery Ajax JSON zurückgibt
Das obige ist der detaillierte Inhalt vonAJAX-Verarbeitungsmethode für vom Server zurückgegebenes XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!