Home > Article > Backend Development > Continue learning - AJAX PHP (with source code)
The previous article introduced you to "What is PHP SimpleXML?" If you are a fan of PHP, come in and take a look! 》, this article continues to introduce to you what AJAX PHP is. Regarding AJAX and PHP, do you know it? After all, he doesn’t know you yet! If you want to be friends, come and find out
PHP - AJAX and PHP AJAX is used to create more interactive applications.
For AJAX PHP, our specific operations are shown in code, as shown below:
<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>
The code running results are as follows:
Source code explanation:
If the input box is empty (str.length==0), this function will clear the content of the txtHint placeholder , and exit the function.
If the input box is not empty, then showHint() will perform the following steps:
Create an XMLHttpRequest object
Create a function that executes when the server response is ready
Send a request to a file on the server
Please note the addition to the URL The parameter (q) at the end (including the content of the input box)
PHP file
The server page called above through JavaScript is named "gethint.php" PHP file.
The source code in "gethint.php" checks the name array and returns the corresponding name to the browser:
<?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; ?>
Explanation:
If JavaScript sends any text (i.e. strlen($q) > 0), this will happen:
Find names matching the characters sent by JavaScript
If no match is found, this will respond String set to "no suggestion"
If one or more matching names are found, set the response string with all names
Send the response to the "txtHint" placeholder
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of Continue learning - AJAX PHP (with source code). For more information, please follow other related articles on the PHP Chinese website!