AJAX peut être utilisé pour communiquer de manière interactive avec des fichiers XML. Cet article expliquera en détail l'interaction entre AJAX et XML.
Exemple XML AJAX
L'exemple suivant montrera comment une page Web lit les informations d'un fichier XML via AJAX :
Exemple
Sélectionnez un CD : Bob Dylan Bee Gees Cat Stevens
Les informations sur le CD seront répertoriées ici...
Exemple d'explication - page HTML
Lorsque l'utilisateur est ci-dessus Lorsqu'un CD est sélectionné dans la liste déroulante , une fonction nommée "showCD()" sera exécutée. Cette fonction est déclenchée par l'événement "onchange" :
<html><head><script>function showCD(str){ if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 浏览器执行 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","getcd.php?q="+str,true); xmlhttp.send();}</script></head><body><form>Select a CD:<select name="cds" onchange="showCD(this.value)"><option value="">Select a CD:</option><option value="Bob Dylan">Bob Dylan</option><option value="Bonnie Tyler">Bonnie Tyler</option><option value="Dolly Parton">Dolly Parton</option></select></form><div id="txtHint"><b>CD info will be listed here...</b></div></body></html>
la fonction showCD() effectuera les étapes suivantes :
Vérifier si un CD est sélectionné
Créer un objet XMLHttpRequest
Créer une fonction qui s'exécute lorsque la réponse du serveur est prête
Envoyer une requête à un fichier sur le serveur
Notez le paramètre ( q) ajouté à la fin de l'URL (Contient le contenu de la liste déroulante)
Fichier PHP
La page du serveur appelée par JavaScript dans le paragraphe ci-dessus est un fichier PHP nommé "getcd.php".
Le script PHP charge le document XML, "cd_catalog.xml", exécute la requête sur le fichier XML et renvoie les résultats en HTML :
<?php $q=$_GET["q"];$xmlDoc = new DOMDocument();$xmlDoc->load("cd_catalog.xml");$x=$xmlDoc->getElementsByTagName('ARTIST');for ($i=0; $i<=$x->length-1; $i++){ // 处理元素节点 if ($x->item($i)->nodeType==1) { if ($x->item($i)->childNodes->item(0)->nodeValue == $q) { $y=($x->item($i)->parentNode); } }}$cd=($y->childNodes);for ($i=0;$i<$cd->length;$i++){ // 处理元素节点 if ($cd->item($i)->nodeType==1) { echo("<b>" . $cd->item($i)->nodeName . ":</b> "); echo($cd->item($i)->childNodes->item(0)->nodeValue); echo("<br>"); }}?>
Lorsque la requête CD provient Lorsque JavaScript est envoyé à une page PHP, que se passe-t-il :
PHP crée un objet XML DOM
Recherche des noms dans tous les éléments
Affichez les informations de l'album et renvoyez l'espace réservé "txtHint"
Cet article explique en détail l'interaction entre AJAX et XML Pour plus de matériel d'apprentissage, veuillez faire attention au php. Site chinois.
Recommandations associées :
À propos de PHP - l'interaction entre AJAX et MySQL
À propos de PHP - l'interaction entre AJAX et MySQL PHP La connexion entre
Connaissances pertinentes sur PHP Simple XML
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!