Maison  >  Article  >  développement back-end  >  À propos des exemples PHP - Interaction AJAX et XML

À propos des exemples PHP - Interaction AJAX et XML

jacklove
jackloveoriginal
2018-05-07 14:59:591363parcourir

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(&#39;ARTIST&#39;);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 cbb6a5431263fa60a8770e5fc7758c8f transmis par JavaScript

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn