Heim >Backend-Entwicklung >PHP-Tutorial >Vier Schritte für Ajax zum Senden asynchroner Anforderungen

Vier Schritte für Ajax zum Senden asynchroner Anforderungen

小云云
小云云Original
2018-05-30 09:43:283710Durchsuche

In diesem Artikel erfahren Sie hauptsächlich, wie Sie Ajax zum Senden asynchroner Anfragen einfach implementieren. Interessierte Freunde können darauf zurückgreifen. Ich hoffe, dass er jedem helfen kann, das Wissen über Ajax zum Senden asynchroner Anfragen zu verbessern.

ajax sendet eine asynchrone Anfrage als Referenz

Der erste Schritt(Get XMLHttpRequest)

Ajax benötigt eigentlich nur um ein Objekt zu lernen: XMLHttpRequest, wenn Sie es beherrschen, beherrschen Sie Ajax!!!

1. Holen Sie sich XMLHttpRequest

Die meisten Browser unterstützen: var xmlHttp=new XMLHttpRequest();
IE6.0:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
IE5.0 und frühere Versionen von IE:var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

2. Schreiben Sie eine Funktion, die ein XMLHttpRequest-Objekt erstellt

function createXMLHttpRequest(){
     try{
     return new XMLHttpRequest();
     } catch(e){
     try{
     return new ActiveXObject(“Msxml2.XMLHTTP”);
    }catch(e){
     try{
      return new ActiveXObject(“Microsoft.XMLHTTP”);
     }catch(e){
       alert(“哥们儿,你用的是什么浏览器啊?”);
       throw e;
    }
    }
     } 
}

Schritt 2(Öffnen Sie die Verbindung mit dem Server)

xmlHttp.open(): Verwendung Um eine Verbindung mit dem Server herzustellen, sind drei Parameter erforderlich:

Anforderungsmethode: Kann GET oder POST sein
Angeforderte URL: Geben Sie die serverseitige Ressource an, zum Beispiel: /day23_1/AServlet
Anfrage, ob asynchron ist: Wenn wahr, bedeutet dies, dass eine asynchrone Anfrage gesendet wird, andernfalls eine synchrone Anfrage

xmlHttp.open("GET","/day23_1/AServlet",true); //Zum Beispiel

Schritt 3(Anfrage senden)

xmlHttp.send(null): Wenn nicht angegeben, ist dies bei einigen Browsern möglicherweise nicht der Fall Kann gesendet werden!

Parameter: Es handelt sich um den Inhalt der Anfrage. Wenn es sich um eine GET-Anfrage handelt, muss null angegeben werden.
Wenn es sich um eine POST-Anfrage handelt, lautet sie wie folgt:

xmlHttp.send(“username=zhangSan&password=123“); Vier Schritte:

Registrieren Sie einen Listener für ein Ereignis des xmlHttp-Objekts: onreadystatechange

Das xmlHttp-Objekt hat insgesamt 5 Zustände 0: Initialisierung ist nicht abgeschlossen, gerade erstelltes XMLHttpRequest-Objekt, die open()-Methode hat wurde noch nicht aufgerufen

1: Die Anfrage wurde gestartet, die open()-Methode wurde aufgerufen, aber die send()-Methode wurde noch nicht aufgerufen

2: Die Anfrage wird im Abschlussstatus gesendet, die send( ) Methode wurde aufgerufen
3: Beginnen Sie mit dem Lesen der Serverantwort

4: Beenden Sie das Lesen der Serverantwort (normalerweise kümmern wir uns nur um den letzten Status!!!)



Rufen Sie den Status ab des xmlHttp-Objekts


Rufen Sie den Statuscode der Serverantwort ab (200: Erfolg 304: Status hat sich nicht geändert 404 500: Serverfehler)

Rufen Sie den Inhalt von ab die Serverantwort
var state = xmlHttp.readyState;//可能是0、1、2、3、4

Der Listener sollte also so geschrieben sein
var status=xmlHttp.status;//例如200、404、500

Verwandte Empfehlungen:
var content=xmlHttp.responseText;//得到服务器的响应的文本格式的内容(这更通用)
var content=xmlHttp.responseXML;//得到服务器的响应的xml响应的内容,它是document对象了!

xmlHttp.onreadystatechange = function(){

  //xmlHttp的5种状态都会调用本方法
    if(xmlHttp.readyState ==4 && xmlHttp.status == 200){

  //双重判断:判断是否为4状态,而且还要判断是否为200
      var text=xmlHttp.responseText;
     } 
};
Ajax Asynchronous Request Post Method


Asynchrone Ajax-Anfrage für die Maus Das Problem beim Verlassen des Eingabetextfelds

Wie man mit JQuery eine asynchrone Ajax-Anfrage implementiert, um JSON-Datencode zurückzugeben Details

Das obige ist der detaillierte Inhalt vonVier Schritte für Ajax zum Senden asynchroner Anforderungen. 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