PHP - The connection between AJAX and PHP is very important for php. This article will explain the connection in detail.
When the user types characters in the input box above, the "showHint()" function will be executed. This function is triggered by the "onkeyup" 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>
Source code explanation:
If the input box is empty (str.length==0), this function will Clear the contents of the txtHint placeholder and exit this function.
If the input box is not empty, then showHint() will perform the following steps:
Create an XMLHttpRequest object
Create a function that is executed when the server response is ready
Send a request to the file on the server
Please pay attention to the parameter (q) added to the end of the URL (contains the content of the input box)
PHP file
The above paragraph The server page called via JavaScript is a PHP file named "gethint.php".
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>0if (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), then:
Find names matching the characters sent by JavaScript
If no match is found, the response String is 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
This article explains Understand the connection between PHP - AJAX and PHP. For more learning materials, please pay attention to the php Chinese website to view.
Related recommendations:
Related knowledge about PHP Simple XML
Related knowledge about PHP XML DOM
About the basics of PHP XML Expat parser
The above is the detailed content of About PHP - The connection between AJAX and PHP. For more information, please follow other related articles on the PHP Chinese website!