Manuel d'auto-a...login
Manuel d'auto-apprentissage complet PHP
auteur:php.cn  temps de mise à jour:2022-04-15 13:53:54

XML AJAX


Exemple PHP - AJAX avec XML


AJAX peut être utilisé pour communiquer de manière interactive avec des fichiers XML.


Exemple XML AJAX

L'exemple suivant montrera comment une page Web lit les informations d'un fichier XML via AJAX :

Exemple


Les informations sur le CD seront répertoriées ici...



Explication des exemples - page HTML

Lorsque l'utilisateur est dans Lorsqu'un CD est sélectionné dans la liste déroulante ci-dessus, 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érifie si un CD est sélectionné

  • Crée un objet XMLHttpRequest

  • Crée une fonction qui s'exécute lorsque la réponse du serveur est prête

  • Envoyer une requête au fichier sur le serveur

  • Veuillez noter le paramètre (q) ajouté à la fin de l'URL (contenant le contenu du liste déroulante)


Fichier PHP

La page du serveur appelée ci-dessus via JavaScript 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>");
      }
}
?>

Lorsqu'une requête CD est envoyée depuis JavaScript vers une page PHP, que se passe-t-il :

  1. PHP crée un objet XML DOM

  2. Recherche tous les éléments <artiste> Le nom correspondant aux données transmises par JavaScript

  3. affiche les informations de l'album et renvoie l'espace réservé "txtHint"

Tutoriels vidéo associés recommandés : "Tutoriel AJAX"http://www.php.cn/course/list/25.html

Site Web PHP chinois