Maison >développement back-end >Problème PHP >Continuer l'apprentissage - AJAX PHP (avec code source)
L'article précédent vous a présenté "Qu'est-ce que PHP SimpleXML ? Si vous êtes fan de PHP, venez jeter un oeil ! 》, cet article continue de vous présenter ce qu'est AJAX PHP. Concernant AJAX et PHP, le connaissez-vous ? Après tout, il ne vous connaît pas encore ! Si vous voulez être amis, venez le découvrir
PHP - AJAX et PHP AJAX est utilisé pour créer des applications plus interactives.
Pour AJAX PHP, notre opération spécifique est affichée dans le code, comme indiqué ci-dessous :
<html> <head> <script> function showHint(str){ if (str.length==0) { 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","gethint.php?q="+str,true); xmlhttp.send();} </script> </head> <body><p><b>在输入框中输入一个姓名:</b></p> <form>姓名: <input type="text" onkeyup="showHint(this.value)"></form> <p>返回值: <span id="txtHint"></span></p> </body> </html>
Le résultat de l'exécution du code est le suivant :
Explication du code source :
Si la zone de saisie est vide (str.length==0), cette fonction effacera le contenu de l'espace réservé txtHint et quittez la fonction.
Si la zone de saisie n'est pas vide, alors showHint() effectuera les étapes suivantes :
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
Attention à ajouter dans l'URL Le paramètre (q) à la fin (y compris le contenu de la zone de saisie)
Fichier PHP
La page du serveur appelée ci-dessus via JavaScript est nommé fichier PHP "gethint.php".
Le code source dans "gethint.php" vérifie le tableau de noms et renvoie le nom correspondant au navigateur :
<?php // 将姓名填充到数组中 $a[]="Anna"; $a[]="Brittany"; $a[]="Cinderella"; $a[]="Diana"; $a[]="Eva"; $a[]="Fiona"; $a[]="Gunda"; $a[]="Hege"; $a[]="Inga"; $a[]="Johanna"; $a[]="Kitty"; $a[]="Linda"; $a[]="Nina"; $a[]="Ophelia"; $a[]="Petunia"; $a[]="Amanda"; $a[]="Raquel"; $a[]="Cindy"; $a[]="Doris"; $a[]="Eve"; $a[]="Evita"; $a[]="Sunniva"; $a[]="Tove"; $a[]="Unni"; $a[]="Violet"; $a[]="Liza"; $a[]="Elizabeth"; $a[]="Ellen"; $a[]="Wenche"; $a[]="Vicky"; //从请求URL地址中获取 q 参数 $q=$_GET["q"]; //查找是否由匹配值, 如果 q>0 if (strlen($q) > 0) { $hint=""; for($i=0; $i<count($a); $i++) { if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } // 如果没有匹配值设置输出为 "no suggestion" if ($hint == "") { $response="no suggestion"; } else { $response=$hint; } //输出返回值 echo $response; ?>
Explication :
Si JavaScript envoie n'importe quel texte (c'est-à-dire strlen($q) > 0), cela se produira :
Trouver les noms correspondant aux caractères envoyés par JavaScript
Si aucune correspondance n'est trouvée, cela répondra String défini sur "aucune suggestion"
Si un ou plusieurs noms correspondants sont trouvés, définissez la chaîne de réponse avec tous les noms
Envoyer la réponse à l'espace réservé "txtHint"
Apprentissage recommandé : " Tutoriel vidéo PHP"
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!