Heim  >  Artikel  >  Web-Frontend  >  Was ist das Prinzip von Ajax? Analyse gemeinsamer Attribute und Prinzipien von Ajax (Zusammenfassung)

Was ist das Prinzip von Ajax? Analyse gemeinsamer Attribute und Prinzipien von Ajax (Zusammenfassung)

寻∝梦
寻∝梦Original
2018-09-10 16:22:511450Durchsuche

In diesem Artikel geht es hauptsächlich um meine eigene Zusammenfassung, einige Fragen und einige Antworten zu Ajax. Lassen Sie uns diesen Artikel jetzt gemeinsam lesen

Zuallererst ist Ajax der vollständige Name von Asynchronem JavaScript und XML. Asynchron bedeutet asynchron, was sich vom traditionellen Web unterscheidet.

Was ist synchron und was ist asynchron?

Synchronisierung bedeutet, dass der Absender nach dem Senden der Daten darauf warten muss, dass der Empfänger die Daten empfängt und antwortet, bevor er mit dem nächsten Schritt fortfährt.

Asynchron muss der Absender nach dem Senden der Daten nicht auf die Antwort des Empfängers warten und kann mit dem nächsten Schritt fortfahren.

Um ein anschauliches Beispiel zu geben: Synchronisation ist so, als würde A B bitten, zum Abendessen zu gehen. Zu diesem Zeitpunkt sendet er muss warten, bis B antwortet, ob er isst oder nicht. A entscheidet, ob er alleine isst oder darauf wartet, dass B mit ihm geht. A sagt B, dass A essen wird, und geht dann , unabhängig davon, ob B eine Antwort gibt.

Ajax-Prinzip

Um es einfach auszudrücken: durch Das XMLHttpRequest-Objekt sendet eine asynchrone Anfrage an den Server. Nachdem es die Daten vom Server erhalten hat, betreibt es den DOM-Knoten über JS.

XMLHttpRequest-Objekt

Methode:

1.open(request type, url, boolean)

2.send() Parameter Für Als Anfragetext gesendete Daten. Wenn der Anfragetext nicht zum Senden von Daten erforderlich ist, übergeben Sie null

3.abort() bricht die asynchrone Anfrage ab

4.getAllResponseHeaders()Alle Antwortheader der HTTP-Anfrage als Schlüssel/Wert-Paare zurückgeben

5.getResponseHeader("header")Gibt den Zeichenfolgenwert des angegebenen Headers zurück

6.setRequestHeader("header", „value“)Setzt den angegebenen Header auf den angegebenen Wert. open() muss aufgerufen werden, bevor Header gesetzt werden. Header festlegen und mit der Anfrage senden (Die Methode „post“ ist erforderlich)

Gemeinsame Attribute von Ajax:

1 .readyState stellt die aktuell aktive Phase des Anforderungs-/Antwortprozesses dar (0: nicht initialisiert, die offene Methode wurde nicht aufgerufen; 1: gestartet, die offene Methode wurde aufgerufen, die Sendemethode wurde nicht aufgerufen; 2: gesendet : Senden wurde aufgerufen, es wurde keine Antwort empfangen; 3 : Empfangen, ein Teil der Antwortdaten wurde empfangen 4. Abgeschlossen, kann auf dem Client verwendet werden)

2.onreadystatechange Diese Methode wird aufgerufen einmal, wenn sich der Wert von readyState ändert (Wenn Sie mehr sehen möchten, gehen Sie zu PHP Learn in der Spalte AJAX Development Manual auf der chinesischen Website)

3.responseText The als Antworttext zurückgegebener Text

4.responseXML Speichern Sie den Antworttyp als „text/xml“ oder „application/xml“. Antwortdaten-XML-DOM-Dokument

5.status Antwort-HTTP-Status

6.statusText HTTP-Statusbeschreibung

Erstellen Sie eines der folgenden XHR-Objekte:

function createXHR(){
if(typeof XMLHttpRequest != "undefined"){
return new XMLHttprequest();
}else if(typeof ActiveXObject != "undefined"){
if(typeof arguments.callee.sctiveXString != "string"){
var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp"],i,len;
for(i =0;i<versions.length;i<len;i++){
try{
new ActiveXObject(versions[i]);
arguments.callee.activeXString = versions[i];
break;
}catch(ex){
跳过
}
}
}
return new ActiveXObject(arguments.callee.activeXString);
}else{
throw new Error("No XHR object available");
}
}
var xhr = createXHR();
xhr.onreadyststechange = function(){
if(xhr.readyState == 4){
if((xhr.status >= 200 && xhr.status <300) || 304){
alert(xhr.responseText);
}else{
alert("请求位成功"+ xhr.status);
}
}
};
xhr.open("get","aaa.txt",true);
xhr.send(null);

Ajax-Vorteile:

1. Aktualisieren Sie die Daten , reduzierte Benutzerwartezeit, bessere Benutzererfahrung

2. Kommunizieren Sie asynchron mit dem Server, ohne den Benutzer zu unterbrechen, und die Antwort ist schneller

3 auf den Client übertragen, Nutzung der ungenutzten Kapazität des Clients für die Verarbeitung, Reduzierung der Belastung des Servers und der Bandbreite, Einsparung von Platz und Kosten für die Breitbandmiete. Und um die Belastung des Servers zu verringern, besteht das Prinzip von AJAX darin, „Daten nach Bedarf abzurufen“, wodurch die Belastung des Servers durch redundante Anforderungen und Antworten minimiert und die Leistung der Website verbessert werden kann.

5. Basierend auf der Standardisierung, weithin unterstützt

Ajax-Nachteile

1. Die Vorwärts- und Rückwärtsfunktionen werden häufig zerstört, um den vorherigen Vorgang abzubrechen. Dies kann jedoch nicht mit Ajax erreicht werden. Sie können Gmail verwenden, um dieses Problem zu lösen. Es verwendet lediglich eine relativ dumme, aber effektive Methode, nämlich wenn der Benutzer auf die Schaltfläche „Zurück“ klickt, um auf den Verlauf zuzugreifen, indem ein versteckter IFRAME erstellt oder verwendet wird um die Änderungen auf der Seite zu reproduzieren.

2. Sicherheitsprobleme. Die Ajax-Technologie ist wie die Einrichtung eines direkten Kanals zu Unternehmensdaten. Dadurch können Entwickler unbeabsichtigt mehr Daten und Serverlogik offenlegen als zuvor. Die Logik von Ajax kann vor der clientseitigen Sicherheitsscan-Technologie verborgen werden, sodass Hacker neue Angriffe von Remote-Servern aus starten können. Außerdem ist selbst Angriffen wie Cross-Site-Scripting-Angriffen, SQL-Injections usw. ausgesetzt.

3. Schwache Unterstützung für Suchmaschinen

4. Einige Handheld-Geräte werden nicht gut unterstützt usw.

Dieser Artikel endet hier (wenn Sie mehr sehen möchten, besuchen Sie die chinesische PHP-Website AJAX-Benutzerhandbuch Spalte zum Lernen), wenn Sie Fragen haben, können Sie unten eine Nachricht hinterlassen.

Das obige ist der detaillierte Inhalt vonWas ist das Prinzip von Ajax? Analyse gemeinsamer Attribute und Prinzipien von Ajax (Zusammenfassung). 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