Maison >développement back-end >Problème PHP >Continuer l'apprentissage - AJAX PHP (avec code source)

Continuer l'apprentissage - AJAX PHP (avec code source)

慕斯
慕斯original
2021-05-31 17:44:502282parcourir

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

Continuer l'apprentissage - AJAX PHP (avec code source)

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 :

Continuer lapprentissage - AJAX PHP (avec code source)

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!

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