PHP - AJAX e PHP
AJAX viene utilizzato per creare applicazioni più interattive.
Esempi AJAX PHP
Gli esempi che seguono dimostrano quando l'utente digita in una scatola di immissione dei caratteri, come le pagine web comunicano con il server Web:
Esempi
尝试在输入框中输入一个名字,如:Anna:
返回值:
pagina HTML - Esempi spiegano
Quando un utente in quanto sopra carattere casella di input esegue ") ShowHint (" la funzione. Questa funzione è costituito da "onkeyup" Trigger Event:
<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>
Fonte ha spiegato:
Se la casella di input è vuota (str.length == 0), questa funzione si cancellerà txtHint segnaposto di contenuto, e uscire dalla funzione.
Se la casella di input non è vuota, allora ShowHint () esegue le seguenti operazioni:
- Creare l'oggetto XMLHttpRequest
- Creare funzione quando il server è pronto per eseguire la risposta
- File sul server per inviare le richieste
- Si prega di notare che l'aggiunta di (contiene testo) alla fine del parametro URL (q)
PHP file
I server di cui sopra attraverso JavaScript chiamando questa pagina è chiamato file PHP "gethint.php".
"Gethint.php" codice sorgente controlla array di nomi, e poi restituito al browser nome corrispondente:
<?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; ?>
Spiegazione: Se il JavaScript inviare qualsiasi testo (ad esempio, strlen ($ q)> 0), si verifica:
- Trova corrispondenti caratteri di inviare i nomi di JavaScript
- Se non viene trovata alcuna corrispondenza, la stringa di risposta è impostato su "alcun indizio"
- Se si trova uno o più nomi di corrispondenza, i nomi di tutte le impostazioni con la stringa di risposta
- L'invio di una risposta al segnaposto "txtHint"
Le soluzioni dominio croce PHP Ajax ai problemi
Se avete bisogno di una richiesta asincrona tra domini possono essere visualizzati: PHP Ajax attraversare soluzioni dominio ai problemi.