Heim >Backend-Entwicklung >PHP-Problem >Weiter lernen – AJAX PHP (mit Quellcode)

Weiter lernen – AJAX PHP (mit Quellcode)

慕斯
慕斯Original
2021-05-31 17:44:502270Durchsuche

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

Weiter lernen – AJAX PHP (mit Quellcode)

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:

Weiter lernen – AJAX PHP (mit Quellcode)

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!

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