Heim > Artikel > Backend-Entwicklung > Weiter lernen – AJAX PHP (mit Quellcode)
Der vorherige Artikel hat Ihnen „Was ist PHP SimpleXML?“ vorgestellt. Wenn Sie ein PHP-Fan sind, kommen Sie vorbei und schauen Sie sich das an! 》In diesem Artikel erfahren Sie, was AJAX PHP ist. Wissen Sie, was AJAX und PHP ist? Schließlich kennt er dich noch nicht! Wenn Sie Freunde sein möchten, kommen Sie und finden Sie es heraus
PHP – AJAX und PHP AJAX wird verwendet, um interaktivere Anwendungen zu erstellen.
Für AJAX PHP werden unsere spezifischen Vorgänge im Code angezeigt, wie unten gezeigt:
<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>
Die Ergebnisse der Codeausführung sind wie folgt:
Erklärung des Quellcodes:
Wenn das Eingabefeld ist leer ( str.length==0), diese Funktion löscht den Inhalt des txtHint-Platzhalters und beendet die Funktion.
Wenn das Eingabefeld nicht leer ist, führt showHint() die folgenden Schritte aus:
Erstellen Sie ein XMLHttpRequest-Objekt.
Erstellen Sie eine Funktion, die ausgeführt werden soll, wenn die Serverantwort bereit ist.
An die Datei auf dem Server senden Anfrage
Bitte achten Sie auf den am Ende der URL hinzugefügten Parameter (q) (einschließlich des Inhalts des Eingabefelds)
PHP-Datei
Die vom Server aufgerufene Seite Das obige JavaScript ist ein PHP-Dokument mit dem Namen „gethint.php“. Der Quellcode in
"gethint.php" überprüft das Namensarray und gibt den entsprechenden Namen an den Browser zurück:
<?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; ?>
Erklärung:
Wenn JavaScript einen beliebigen Text sendet (z. B. strlen($q) > 0 ), Was passiert:
Suchen Sie Namen, die mit den von JavaScript gesendeten Zeichen übereinstimmen.
Wenn keine Übereinstimmung gefunden wird, setzen Sie die Antwortzeichenfolge auf „Kein Vorschlag“.
Wenn ein oder mehrere übereinstimmende Namen gefunden werden, legen Sie sie mit der Antwortzeichenfolge für alle Namen fest
Senden Sie die Antwort an den Platzhalter „txtHint“
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWeiter lernen – AJAX PHP (mit Quellcode). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!