Heim  >  Artikel  >  Backend-Entwicklung  >  Über PHP – Die Verbindung zwischen AJAX und PHP

Über PHP – Die Verbindung zwischen AJAX und PHP

jacklove
jackloveOriginal
2018-05-07 14:53:091561Durchsuche

PHP – Die Verbindung zwischen AJAX und PHP ist für PHP sehr wichtig. In diesem Artikel wird die Verbindung im Detail erläutert.

Wenn der Benutzer Zeichen in das Eingabefeld oben eingibt, wird die Funktion „showHint()“ ausgeführt. Diese Funktion wird durch das Ereignis „onkeyup“ ausgelöst:

<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>

Erklärung des Quellcodes:

Wenn das Eingabefeld leer ist (str.length==0), wird dies Die Funktion löscht den Inhalt des txtHint-Platzhalters und beendet diese Funktion.

Wenn das Eingabefeld nicht leer ist, führt showHint() die folgenden Schritte aus:

Erstellen eines XMLHttpRequest-Objekts

Erstellen einer Funktion, die ausgeführt werden soll, wenn der Server antwortet ist bereit

Senden Sie eine Anfrage an die Datei auf dem Server

Bitte beachten Sie den am Ende der URL hinzugefügten Parameter (q) (enthält den Inhalt des Eingabefelds)

PHP-Datei

Der obige Absatz Die über JavaScript aufgerufene Serverseite ist eine PHP-Datei 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>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;?>

Erklärung: Wenn JavaScript einen Text sendet (z. B. strlen($q ) > ; 0), was passiert:

sucht nach Namen, die mit den von JavaScript gesendeten Zeichen übereinstimmen

Wenn keine Übereinstimmung gefunden wird, wird die Antwortzeichenfolge auf „kein Vorschlag“ gesetzt „

Wenn ein oder mehrere übereinstimmende Namen gefunden werden, legen Sie die Antwortzeichenfolge mit allen Namen fest

Senden Sie die Antwort an den „txtHint“-Platzhalter

Erklärt in diesem Artikel. Verstehen Sie die Verbindung zwischen PHP - AJAX und PHP Weitere Lernmaterialien finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Relevante Kenntnisse über PHP Simple XML

Relevante Kenntnisse über PHP XML DOM

Über die Grundlagen des PHP XML Expat-Parsers

Das obige ist der detaillierte Inhalt vonÜber PHP – Die Verbindung zwischen AJAX und PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn