Heim  >  Artikel  >  Web-Frontend  >  Ajax-Einführungs-Tutorial, 30-minütige Demonstration

Ajax-Einführungs-Tutorial, 30-minütige Demonstration

云罗郡主
云罗郡主Original
2019-01-25 13:15:362667Durchsuche

In allen Tutorials, ob online oder in Büchern. Es heißt, wenn Sie Ajax lernen möchten, müssen Sie HTML + CSS + Javascript im Voraus lernen. Dann begannen viele Front-End-Anfänger, es zu lernen, stellten jedoch fest, dass es nach langem Befolgen des Beispiels keine Reaktion gab. und gab schließlich entschieden auf~ [Empfohlenes Tutorial:AJAX-Video-Tutorial]

Eigentlich... hast du noch keine Backend-Umgebung eingerichtet, Liebes~

1. Richten Sie zuerst eine Backend-Umgebung ein, oder? Zum Beispiel PHP

Wie können wir Frontend-Anfänger so viel Energie und Zeit haben, PHP intensiv zu lernen, oder? Daher wird empfohlen, eine PHP-Umgebung zu erstellen: phpstudy. Installieren Sie sie einfach im nächsten Schritt und es ist in Ordnung.

Ich habe PHPStudy auf dem Laufwerk D installiert. Gehen Sie also zum Laufwerk D und suchen Sie den WWW-Ordner im phpstudy-Ordner.

Der WWW-Ordner entspricht dem Server auf unserem Computer und allem, was ich habe Werde in Zukunft schreiben. Lege alles in den WWW-Ordner.

Erstellen Sie zwei Dateien in unserem WWW-Ordner, index.html und handle.php

Lassen Sie es uns testen und etwas Code in die neu erstellte index.html schreiben. Öffnen Sie den Browser, geben Sie „localhost“ ein und drücken Sie die Eingabetaste. Wenn Sie die gerade geschriebene Webseite öffnen können, bedeutet dies, dass wir sie erfolgreich erstellt haben.

Wenn dies fehlschlägt, liegt möglicherweise ein Portkonflikt vor oder phpstudy wird nicht ausgeführt ~ Überprüfen Sie es selbst. Überprüfen Sie es und debuggen Sie es. GET bedeutet, dass wir die Übertragungsmethode POST verwenden möchten. Die ID im Eingabe-Tag

entspricht dem for-Attribut im Label-Tag später mit PHP verwendet. ;

handle.php

index.html
<body>
<form action="index.html" method="GET">
    <label for="name">姓名</label>
    <input type="text" id="name" name="name">
    <input type="submit" value="提交">
</form> 
</body>

3.

index.html

html:

<meta charset="utf-8">
<!--其实我的这个写法有点取巧了,先凑合着看-->
<?php 
$student=array(
    array("name"=>"张三","sex"=>"男","age"=>"20"),
    array("name"=>"李丽","sex"=>"女","age"=>"19"),
    array("name"=>"王二","sex"=>"男","age"=>"21")
    );
$str="没有找到这个学生";
$name=$_GET["name"];
foreach ($student as $value) {
    if($value["name"]==$name){
        $str=$value["name"].",".$value["index"].",".$value["sex"].",".$value["age"];
        break;
    };
};
echo $str;
 ?>

javascript:

<h1>请输入姓名:</h1>
<input type="text" id="name">
<button onclick="submit()">提交</button>
<div id="text"></div>

Hinweis:

Wenn jemand Text einfügt .responseText an warning(XHR.responseTXT) senden, werden Sie feststellen, dass der Befehl mehrmals ausgeführt wird. Zu diesem Zeitpunkt muss der Code geringfügig geändert werden: (Den Grund finden Sie später im Artikel)

function submit(){
        
        var name=document.getElementById(&#39;name&#39;).value
               var text=document.getElementById(&#39;text&#39;)
        var XHR=new XMLHttpRequest();
               XHR.open("GET","handle.php?name="+name);
               XHRsend();
               XHR.onreadystatechange=function(){
            text.innerHTML=XHR.responseText
        }

4. Das Beispiel war erfolgreich, also beginnen wir offiziell mit dem Lernen~

Der Vorteil von Ajax

In unserem ersten Beispiel werden die Daten über die Schaltfläche „Senden“ an den PHP-Hintergrund gesendet und anschließend verarbeitet.

Dieser Vorgang hat den Nachteil, dass eine ganze Seite mit Daten gleichzeitig an den Hintergrund übermittelt werden muss.

Zum Beispiel

Wenn wir uns auf einer Website registrieren und den Spitznamen, das Passwort, das Geschlecht, das Alter und andere Informationen eingeben, wird Ihnen nach dem Absenden im Hintergrund mitgeteilt, dass der Spitzname verwendet wurde , OK, wir werden Spitzname, Passwort, Geschlecht, Alter usw. alle neu schreiben. Wenn Sie es erneut übermitteln, wird Ihnen mitgeteilt, dass der Spitzname noch verwendet wird. Zu diesem Zeitpunkt haben Sie einen sehr, sehr NIEDRIGEN Namen gewählt und sich gedacht, dass es dieses Mal keine Probleme geben wird, oder? Nachdem die Ergebnisse übermittelt wurden, teilt Ihnen das Backend mit, dass Ihr Passwort zu kurz ist und Sie die Informationen erneut eingeben müssen. Nun ja, gib auf!

Was ist, wenn Sie Ajax-Technologie verwenden? Wir können die Daten einzeln oder jederzeit und überall an das Backend übermitteln. Nachdem Sie beispielsweise Ihren Spitznamen eingegeben haben, teilt Ihnen das Backend sofort mit, dass Ihr Spitzname verwendet wird. OK, ändern Sie ihn einfach.

Verwendung von AJAX

1. AJAX erstellen

   ......
    XHR.onreadystatechange=function(){
             if(XHR.readyState==4){alert(XHR.responseText)};
                                     }
   ......

2. Eine Anfrage an den Server senden

  var XHR=new XMLHttpRequest();

Es gibt drei Parameter in open: Datenübertragungsmethoden. , Dateien übertragen, ob asynchron

Wenn unsere Übertragungsmethode POST ist, verwenden wir send(). Wenn es sich um eine GET-Methode handelt, wird empfohlen, den Parameter null in send zu schreiben

3 .GET vs. POST

In einem Satz: Get ist schneller, Post ist stärker

Serverantwort – Sie haben den Wert übergeben, also müssen Sie etwas zurückgeben, oder?

XHR.open("GET","handle.php",true);
XHR.send();

5. Auf Ereignisse reagieren – wann können Daten zurückgegeben werden?

XHR.responseText;
XHR.responseXML;
onreadystatechange 事件
两个属性:
readyState
status
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。

Ajax-Einführungs-Tutorial, 30-minütige Demonstration

Ajax-Einführungs-Tutorial, 30-minütige Demonstration

Das obige ist der detaillierte Inhalt vonAjax-Einführungs-Tutorial, 30-minütige Demonstration. 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