亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP - AJAX contre PHP

Il n'y a pas de serveur AJAX.

AJAX est une technologie qui s'exécute dans le navigateur. Il utilise un transfert de données asynchrone entre le navigateur et le serveur Web, permettant à la page Web de demander une petite quantité d'informations au serveur au lieu de la page entière.

AJAX est une technologie de navigateur Web indépendante du logiciel de serveur Web.


Exemple PHP AJAX

L'exemple suivant montrera comment la page Web se comporte lorsque l'utilisateur saisit des caractères dans le zone de saisie. Communiquer avec le serveur web :

Instance

3.png

Lorsque l'utilisateur saisit des caractères dans la zone de saisie ci-dessus, la fonction "showHint()" sera exécutée. Cette fonction est déclenchée par l'événement "onkeyup" :

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文網(wǎng)(php.cn)</title>
     <script>
         function showHint(str)
         {
             if (str.length==0)
             {
                 document.getElementById("txtHint").innerHTML="";
                 return;
             }
             if (window.XMLHttpRequest)
             {
                 // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行的代碼
                 xmlhttp=new XMLHttpRequest();
             }
             else
             {
                 //IE6, IE5 瀏覽器執(zhí)行的代碼
                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
             }
             xmlhttp.onreadystatechange=function()
             {
                 if (xmlhttp.readyState==4 && xmlhttp.status==200)
                 {
                     document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
                 }
             }
             xmlhttp.open("GET","ajax_php.php?q="+str,true);
             xmlhttp.send();
         }
     </script>
 </head>
 <body>
 
 
 <p><b>在輸入框中輸入一個(gè)姓名:</b></p>
 <form>
     姓名: <input type="text" onkeyup="showHint(this.value)">
 </form>
 <p>返回值: <span id="txtHint"></span></p>
 
 </body>
 </html>

Explication du code source :

Si la zone de saisie est vide (str.length==0), ceci La fonction effacera le contenu de l'espace réservé txtHint et quittera 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 à exécuter lorsque le la réponse du serveur est prête

· Envoyer une requête au fichier sur le serveur

· Veuillez faire attention au paramètre (q) ajouté à la fin de l'URL (y compris le contenu de l'entrée box)


Le paragraphe ci-dessus passe La page serveur appelée par JavaScript est un fichier PHP nommé "ajax_php.php". Le code source dans

"ajax_php.php" vérifie le tableau de noms et renvoie le nom correspondant au navigateur?:

fichier ajax_php.php

<?php
 // 將姓名填充到數(shù)組中
 $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";
 
 //從請(qǐng)求URL地址中獲取 q 參數(shù)
 $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];
             }
         }
     }
 }
 
 // 如果沒有匹配值設(shè)置輸出為 "no suggestion"
 if ($hint == "")
 {
     $response="no suggestion";
 }
 else
 {
     $response=$hint;
 }
 
 //輸出返回值
 echo $response;
 ?>

Exécutez le programme et essayez-le

Explication?: Si JavaScript envoie du texte (c'est-à-dire strlen($q) > 0), cela se produira?:

1 . Trouvez les noms qui correspondent aux caractères envoyés par JavaScript

2 Si aucune correspondance n'est trouvée, définissez la cha?ne de réponse sur "aucune suggestion"

3. puis définissez la cha?ne de réponse avec tous les noms

4. Envoyer la réponse à l'espace réservé "txtHint"


Solution du problème inter-domaines PHP Ajax

Si votre requête asynchrone doit traverser le domaine, vous pouvez consulter?: Solution aux problèmes inter-domaines PHP Ajax.


Formation continue
||
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)(php.cn)</title> <script> function showHint(str) { if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行的代碼 xmlhttp=new XMLHttpRequest(); } else { //IE6, IE5 瀏覽器執(zhí)行的代碼 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","ajax_php.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <p><b>在輸入框中輸入一個(gè)姓名:</b></p> <form> 姓名: <input type="text" onkeyup="showHint(this.value)"> </form> <p>返回值: <span id="txtHint"></span></p> </body> </html>
soumettreRéinitialiser le code