Heim  >  Artikel  >  Web-Frontend  >  Wissen Sie, wie Ajax funktioniert? Einführung in Ajax und detaillierte Zusammenfassung seiner Prinzipien (klassisch)

Wissen Sie, wie Ajax funktioniert? Einführung in Ajax und detaillierte Zusammenfassung seiner Prinzipien (klassisch)

寻∝梦
寻∝梦Original
2018-09-10 14:09:56931Durchsuche

Dieser Artikel stellt hauptsächlich eine Einführung in Ajax sowie einige Anwendungsprinzipien von Ajax usw. vor. Schauen wir uns nun gemeinsam diesen Artikel an

Wie Ajax funktioniert

Bevor ich diesen Artikel schrieb, habe ich einmal einen Aufsatz über die AJAX-Technologie geschrieben, aber die beteiligten Aspekte waren sehr eng, einschließlich des Hintergrunds, der Prinzipien, Vor- und Nachteile der AJAX-Technologie usw. Null ist selten in alle Aspekte eingebunden. Der Hintergrund für das Schreiben dieses Artikels ist, dass das Unternehmen Schulungen für interne Programmierer anbieten muss. Der Projektmanager hat mich gefunden und nach dem Schulungsthema gefragt. Da Javascript, CSS und andere WEB-Entwicklungstechnologien bereits erläutert wurden, habe ich beschlossen, eine systematischere Schulung zu AJAX durchzuführen, sodass es sich bei diesem Artikel tatsächlich um Schulungsmaterialien handelt.

In diesem Artikel werde ich die AJAX-Technologie systematisch unter 10 Aspekten erläutern.

1. Hintergrund der Ajax-Technologie

Es ist unbestreitbar, dass die Popularität der Ajax-Technologie von der starken Förderung von Google profitiert hat, und zwar gerade wegen Google Earth, so Google und Google Mail usw. Die weit verbreitete Anwendung der Ajax-Technologie hat zur Popularität von Ajax geführt. Dies ist auch für Microsoft äußerst peinlich, da Microsoft bereits 1997 die Schlüsseltechnologie in Ajax erfunden hatte und mit der Einführung von IE5 im Jahr 1999 begann, das XmlHttpRequest-Objekt zu unterstützen, und Microsoft hatte bereits zuvor damit begonnen, Ajax zu verwenden wird in einigen Produkten verwendet, beispielsweise in einigen Anwendungen im Menü der MSDN-Website. Leider erkannte Microsoft aus unbekannten Gründen nach der Erfindung der Ajax-Kerntechnologie nicht deren Potenzial und entwickelte und förderte sie nicht, sondern legte sie zurück. Ich persönlich finde das sehr seltsam, denn mit den Ressourcen und der strategischen Vision von Microsoft sollte es nicht unmöglich sein, die Aussichten der Ajax-Technologie zu erkennen. Die einzige Erklärung könnte sein, dass der damalige Hauptkonkurrent Netscape gelähmt und langsam geworden ist Schließlich machen auch Giganten ein Nickerchen, etwa die strategischen Fehler von IBM gegenüber Microsoft. Es war dieser Fehler, der dazu führte, dass sein derzeitiger Konkurrent Google in der Ajax-Technologie eine führende Position einnahm. Dies wird später besprochen, wenn ich auch auf die Mängel von Ajax eingehen werde. Mittlerweile ist sich Microsoft dieses Problems bewusst und hat daher auch begonnen, im Ajax-Bereich aufzuholen. Beispielsweise hat das Unternehmen einen eigenen Ajax-Framework-Atlas auf den Markt gebracht und auch eine Schnittstelle zur Implementierung asynchroner Rückrufe in .NET 2.0 bereitgestellt, nämlich die ICallBack-Schnittstelle . . Warum ist Microsoft so nervös, dass es bei Ajax hinterherhinkt? Lassen Sie uns nun die tiefgreifende Bedeutung der Ajax-Technologie analysieren.

2. Die Bedeutung der Ajax-Technologie

Wir alle sind in unserer täglichen Entwicklung in gewissem Umfang mit Ajax in Kontakt gekommen oder haben es angewendet. Wenn es um die Bedeutung der Ajax-Technologie geht, legen wir zweifellos den größten Wert auf die Verbesserung der Benutzererfahrung. Wenn wir jedoch die zukünftigen Entwicklungstrends von Computern und Internet kombinieren, werden wir feststellen, dass die Ajax-Technologie diesen Trend in einigen Aspekten repräsentiert. Warum sagst du das? Wir wissen, dass Desktop-Software seit dem Aufkommen von Computern immer eine absolut dominierende Stellung eingenommen hat, aber das Aufkommen und der Erfolg des Internets haben in all dem zu subtilen Veränderungen geführt. Viele Menschen glauben, dass Daten und Computersoftware früher oder später vom Desktop ins Internet verlagert werden. Mit anderen Worten, Computer könnten in Zukunft auf sperrige Festplatten verzichten und Daten und Dienste direkt aus dem Internet beziehen. Ich erinnere mich, dass sich ein Professor während meines Studiums einmal ein solches Szenario vorgestellt hat, als er uns eine Vorlesung hielt , es wird keine redundante Software und Programme auf dem Computer-Desktop geben, sondern nur einen IE. Obwohl es so aussieht, als ob wir noch weit von diesem Tag entfernt sind und es noch viele Probleme zu lösen gibt, denke ich, dass dies nicht der Fall ist Traum, sondern eine Realität, die früher oder später wahr werden wird. Nun, das Hauptproblem ist, dass die Internetverbindung instabil ist. Niemand möchte zusehen, wie sein Computer Stück für Stück Daten vom Server herunterlädt Es löst das Problem nur, es fungiert nur als Puffer zwischen dem Server und dem Client und täuscht den Benutzern vor, es gäbe keine Unterbrechung im Dienst. Um genau zu sein, verbessert Ajax nicht die Geschwindigkeit beim Herunterladen von Daten vom Server, sondern macht das Warten nur weniger frustrierend. Aber genau das reichte aus, um eine große Wirkung und einen großen Schock auszulösen, und es hatte tatsächlich enorme Auswirkungen auf die Desktop-Software. Ich werde diesen Punkt anhand eines Beispiels veranschaulichen. Ersteres ist eine typische Desktop-Software, und letzteres ist ein von Ajax implementierter B/S-Modus. Gmail bietet beim Senden und Empfangen von E-Mails fast die gleichen Funktionen wie Outlook Express und erfordert keine Installation eines Client-Programms. Dies ist einer der Hauptgründe, warum Microsoft große Angst vor den Auswirkungen von Ajax hat und in einer kürzlich durchgeführten Umfrage Google als seinen Hauptkonkurrenten in den nächsten zehn Jahren ansah. Natürlich wird durch diese Änderung nicht die gesamte Desktop-Software entfernt. Keiner der vorhandenen Browser kann komplexe Bilder wie Desktop-Programme wie PhotoShop verarbeiten. Aber wir können seinen Einfluss und seine Auswirkungen nicht ignorieren.

3. Über den Namen von Ajax

Der vollständige Name von Ajax lautet „Asynchronous JavaScript“ und „Asynchronous“ bedeutet asynchron, was sich von dem verwendeten unterscheidet in traditioneller synchronisierter Weise.

4. Über Synchronisation und Asynchronität

Asynchrone Übertragung ist zeichenorientierte Übertragung, und ihre Einheit ist zeichenorientierte Übertragung, und ihre Einheit ist Ja, es erfordert, dass die Uhren des Empfängers und des Senders beim Senden konsistent sind.

Konkret werden bei der asynchronen Übertragung Bits zur Übertragung in kleine Gruppen unterteilt. Im Allgemeinen handelt es sich bei jeder Gruppe um ein 8-Bit-Zeichen. Am Kopf und am Ende jeder Gruppe müssen die Uhren des Empfängers und des Senders nicht konsistent sein Das heißt, die sendende Partei kann diese Gruppen jederzeit senden, ohne dass die empfangende Partei weiß, wann sie ankommt. Eines der offensichtlichsten Beispiele ist die Kommunikation zwischen der Computertastatur und dem Host. Wenn eine Taste gedrückt wird, wird ein 8-Bit-ASCII-Code an den Host gesendet. Die Tastatur kann den Code jederzeit senden, abhängig von der Eingabe des Benutzers Die interne Hardware muss jederzeit in der Lage sein, ein eingegebenes Zeichen zu empfangen. Dies ist ein typischer asynchroner Übertragungsprozess. Ein potenzielles Problem bei der asynchronen Übertragung besteht darin, dass der Empfänger nicht weiß, wann die Daten eintreffen. Bevor es die Daten erkennt und antwortet, ist das erste Bit vergangen. Es ist, als ob jemand unerwartet von hinten auf Sie zukommt und Sie anspricht, und Sie keine Zeit zum Reagieren haben und die ersten paar Worte verpassen. Daher beginnt jede asynchrone Informationsübertragung mit einem Startbit, das den Empfänger darüber informiert, dass die Daten angekommen sind, was dem Empfänger Zeit gibt, zu antworten, die Datenbits zu empfangen und am Ende der Übertragung zwischenzuspeichern. Ein Stoppbit zeigt den Abschluss an dieser Informationsübermittlung. Konventionell überträgt eine freie Leitung (die keine Daten überträgt) tatsächlich ein Signal, das eine binäre 1 darstellt. Das Startbit der Schrittübertragung bewirkt, dass das Signal 0 wird, und die anderen Bits bewirken, dass sich das Signal mit den übertragenen Dateninformationen ändert. Schließlich ändert das Stoppbit das Signal wieder auf 1, wo es bleibt, bis das nächste Startbit eintrifft. Beispielsweise sendet die Zahl „1“ auf der Tastatur gemäß der erweiterten 8-Bit-ASCII-Kodierung „00110001“. Gleichzeitig muss vor dem 8-Bit-Bit ein Startbit und ein Stoppbit hinzugefügt werden wird folgen.

Die gleichzeitig übertragenen Bitpakete sind viel größer. Anstatt jedes Zeichen einzeln zu senden, jedes mit seinem eigenen Startbit und Stoppbit, werden diese kombiniert und zusammen gesendet. Wir nennen diese Kombinationen Datenrahmen oder einfach Frames.

Der erste Teil des Datenrahmens enthält einen Satz Synchronisationszeichen, eine einzigartige Kombination von Bits, ähnlich dem zuvor erwähnten Startbit, die verwendet wird, um den Empfänger darüber zu informieren, dass ein Rahmen angekommen ist, aber auch sicherstellt, dass der Empfänger Die Abtastgeschwindigkeit stimmt mit der Ankunftsgeschwindigkeit der Bits überein, sodass die sendenden und empfangenden Parteien synchronisiert sind.

Der letzte Teil des Frames ist eine End-of-Frame-Markierung. Wie das Synchronisationszeichen handelt es sich auch hier um eine eindeutige Bitfolge, ähnlich dem zuvor erwähnten Stoppbit, die verwendet wird, um anzuzeigen, dass vor Beginn des nächsten Frames keine weiteren Daten anstehen.

Die synchrone Übertragung ist normalerweise viel schneller als die asynchrone Übertragung. Der Empfänger muss nicht jedes Zeichen starten und stoppen. Sobald die Frame-Synchronisationszeichen erkannt wurden, werden sie beim Eintreffen der nächsten Daten empfangen. Darüber hinaus ist auch der Overhead der synchronen Übertragung relativ gering. Beispielsweise kann ein typischer Frame 500 Byte (d. h. 4000 Bit) Daten enthalten, die möglicherweise nur 100 Bit Overhead enthalten. Zu diesem Zeitpunkt erhöhen die hinzugefügten Bits die Gesamtzahl der übertragenen Bits um 2,5 %, was viel kleiner ist als die 25 %ige Steigerung bei der asynchronen Übertragung. Wenn die Anzahl der tatsächlichen Datenbits im Datenrahmen zunimmt, nimmt der Prozentsatz der Overhead-Bits entsprechend ab. Je länger die Datenbits sind, desto größer ist jedoch der zum Zwischenspeichern der Daten erforderliche Puffer, wodurch die Größe eines Frames begrenzt wird. Darüber hinaus gilt: Je größer der Rahmen, desto länger ist die ununterbrochene Zeit, die er auf dem Übertragungsmedium einnimmt. Dies führt im Extremfall dazu, dass andere Benutzer zu lange warten müssen.

Nachdem Sie die Konzepte der Synchronisation und Asynchronität verstanden haben, sollte klarer werden, warum Ajax die Benutzererfahrung verbessern kann. Es verwendet asynchrone Anforderungsmethoden. Wenn beispielsweise in der Gemeinde, in der sich Ihr Haus befindet, aufgrund bestimmter Umstände eine Wasserversorgung unterbrochen werden muss, haben die zuständigen Behörden zwei Pläne angekündigt. Die zweite besteht darin, das Wasser 10 Stunden lang nicht vollständig abzusperren, aber die Durchflussrate ist viel geringer als zuvor , welche Methode würden Sie an Ihrer Stelle wählen? Anscheinend ist es Letzteres.

5. Die in Ajax enthaltene Technologie

Jeder weiß, dass Ajax keine neue Technologie ist, sondern eine Kombination mehrerer Originaltechnologien. Es besteht aus den folgenden Technologien.

1. Verwenden Sie CSS und XHTML zum Ausdrucken.

2. Verwenden Sie das DOM-Modell für Interaktion und dynamische Anzeige.

3. Verwenden Sie XMLHttpRequest, um asynchron mit dem Server zu kommunizieren.

4. Verwenden Sie Javascript zum Binden und Aufrufen.

Von den oben genannten Technologien basieren alle anderen Technologien mit Ausnahme des XmlHttpRequest-Objekts auf Webstandards und wurden häufig verwendet. Obwohl XMLHttpRequest vom W3C noch nicht übernommen wurde, ist es bereits ein De-facto-Standard Fast alle gängigen Browser unterstützen es derzeit.

6. Ajax-Prinzip und XmlHttpRequest-Objekt

Das Prinzip von Ajax besteht einfach darin, eine asynchrone Anfrage an den Server über das XmlHttpRequest-Objekt zu senden und die Daten vom Server abzurufen , und verwenden Sie dann Javascript, um das DOM zu manipulieren, um die Seite zu aktualisieren. Der wichtigste Schritt besteht darin, die Anforderungsdaten vom Server abzurufen. Um diesen Prozess und dieses Prinzip zu verstehen, müssen wir etwas über XMLHttpRequest verstehen.

XMLHttpRequest ist der Kernmechanismus von Ajax. Er wurde erstmals in IE5 eingeführt und ist eine Technologie, die asynchrone Anforderungen unterstützt. Vereinfacht ausgedrückt kann JavaScript Anfragen an den Server stellen und Antworten zeitnah verarbeiten, ohne den Benutzer zu blockieren. Erzielen Sie keinen Refresh-Effekt.

Beginnen wir also mit XMLHttpRequest und sehen, wie es funktioniert.

Schauen wir uns zunächst die Eigenschaften des XMLHttpRequest-Objekts an.

Seine Attribute sind:

onreadystatechange Der Ereignishandler für das Ereignis, das jedes Mal ausgelöst wird, wenn sich der Status ändert.

ResponseText Gibt die Zeichenfolgenform der Daten vom Serverprozess zurück.

responsXML DOM-kompatibles Dokumentdatenobjekt, das vom Serverprozess zurückgegeben wird.

 Status Vom Server zurückgegebener numerischer Code, z. B. 404 (nicht gefunden) und 200 (bereit)

 Status Text-String-Informationen, die den Statuscode begleiten

readyState Objektstatuswert

 0 (Nicht initialisiert) Das Objekt wurde erstellt, aber nicht initialisiert (die offene Methode wurde noch nicht aufgerufen)

 1 (Initialisiert) Das Objekt wurde erstellt erstellt, aber die Sendemethode wurde noch nicht aufgerufen

  2 (Daten senden) Die Sendemethode wurde aufgerufen, aber der aktuelle Status und der HTTP-Header sind unbekannt

    3 (Daten werden übertragen ) Ein Teil der Daten wurde empfangen, da die Antwort und der HTTP-Header unvollständig sind. Zu diesem Zeitpunkt werden sie über „ResponseBody“ und „ResponseText“ abgerufen. Einige Daten enthalten Fehler.

 4 (Vollständig) Die Daten wurden empfangen . Zu diesem Zeitpunkt können die vollständigen Antwortdaten über ResponseXml und ResponseText abgerufen werden

Aufgrund der Unterschiede zwischen den Browsern sind für die Erstellung eines XMLHttpRequest-Objekts jedoch möglicherweise unterschiedliche Methoden erforderlich. Dieser Unterschied spiegelt sich hauptsächlich zwischen dem IE und anderen Browsern wider. Im Folgenden finden Sie eine relativ standardmäßige Methode zum Erstellen eines XMLHttpRequest-Objekts.

function CreateXmlHttp() {    //非IE浏览器创建XmlHttpRequest对象    if (window.XmlHttpRequest) {
        xmlhttp = new XmlHttpRequest();
    }    //IE浏览器创建XmlHttpRequest对象    if (window.ActiveXObject) {        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }        catch (e) {            try {
                xmlhttp = new ActiveXObject("msxml2.XMLHTTP");
            }            catch (ex) { }
        }
    }
}function Ustbwuyi() {    var data = document.getElementById("username").value;
    CreateXmlHttp();    if (!xmlhttp) {
        alert("创建xmlhttp对象异常!");        return false;
    }

    xmlhttp.open("POST", url, false);

    xmlhttp.onreadystatechange = function () {        if (xmlhttp.readyState == 4) {
            document.getElementById("user1").innerHTML = "数据正在加载...";            if (xmlhttp.status == 200) {
                document.write(xmlhttp.responseText);
            }
        }
    }
    xmlhttp.send();
}

Wie oben gezeigt, prüft die Funktion zunächst den Gesamtstatus von XMLHttpRequest und stellt sicher, dass dieser abgeschlossen ist (readyStatus=4), also die Daten gesendet wurden. Fragen Sie dann den Anforderungsstatus gemäß den Servereinstellungen ab. Wenn alles bereit ist (Status=200), führen Sie die folgenden erforderlichen Vorgänge aus.

Für die beiden Methoden von XmlHttpRequest, open und send, gibt die open-Methode Folgendes an:

a Die Art der an den Server übermittelten Daten, also posten oder abrufen.

b. Die angeforderte URL-Adresse und die übergebenen Parameter.

c. Übertragungsmodus, false bedeutet synchron, true bedeutet asynchron. Der Standardwert ist wahr. Wenn es sich um einen asynchronen Kommunikationsmodus handelt (true), wartet der Client nicht auf die Antwort des Servers. Wenn es sich um einen synchronen Modus handelt (false), muss der Client warten, bis der Server eine Nachricht zurückgibt, bevor er andere Vorgänge ausführt. Wir müssen die Synchronisierungsmethode entsprechend den tatsächlichen Anforderungen festlegen. Auf einigen Seiten werden möglicherweise mehrere Anforderungen ausgegeben, oder es werden sogar umfangreiche Anforderungen mit hoher Intensität organisiert, geplant und erstellt, wobei die letztere die vorherige überschreibt . Natürlich müssen Sie die Synchronisationsmethode angeben.

Die Send-Methode wird zum Senden von Anfragen verwendet.

Wenn wir den Workflow von XMLHttpRequest kennen, können wir sehen, dass XMLHttpRequest vollständig zum Senden einer Anforderung an den Server verwendet wird und seine Rolle darauf beschränkt ist, aber seine Rolle ist der Schlüssel zur gesamten Ajax-Implementierung, da Ajax ist nichts weiter als zwei Prozesse: das Stellen einer Anfrage und das Beantworten der Anfrage. Und es handelt sich ausschließlich um eine clientseitige Technologie. XMLHttpRequest behandelt das Kommunikationsproblem zwischen dem Server und dem Client, weshalb es so wichtig ist.

Jetzt können wir wahrscheinlich das Prinzip von Ajax verstehen. Wir können uns den Server als eine Datenschnittstelle vorstellen, die einen einfachen Textstream zurückgibt. Natürlich kann dieser Textstream im XML-Format, HTML, Javascript-Code oder einfach nur als Zeichenfolge vorliegen. Zu diesem Zeitpunkt fordert XMLHttpRequest diese Seite vom Server an und der Server schreibt das Textergebnis in die Seite. Dies ist derselbe wie beim normalen Webentwicklungsprozess. Der Unterschied besteht darin, dass der Client das Ergebnis nicht direkt erhält wird auf der Seite angezeigt, aber zuerst von Javascript verarbeitet und dann auf der Seite angezeigt. Viele beliebte Ajax-Steuerelemente wie Magicajax usw. können nur das Ergebnis dieses Prozesses zurückgeben. Im Wesentlichen gibt es keinen großen Unterschied zwischen ihnen.

7. Vorteile von Ajax

Jeder hat im Grunde ein tiefes Verständnis für die Vorteile, die Ajax uns bringt. Hier möchte ich nur kurz auf einige Punkte eingehen:

1. Der größte Punkt ist, dass die Seite nicht aktualisiert wird und mit dem Server innerhalb der Seite kommuniziert, was dem Benutzer ein sehr gutes Erlebnis bietet.

2. Verwenden Sie den asynchronen Modus, um mit dem Server zu kommunizieren, ohne den Betrieb des Benutzers zu unterbrechen, und haben Sie eine schnellere Reaktionsfähigkeit.

3. Ein Teil der zuvor vom Server belasteten Arbeit kann auf den Client übertragen werden, wodurch die ungenutzte Kapazität des Clients für die Verarbeitung genutzt wird, wodurch die Belastung des Servers und der Bandbreite verringert sowie Platz und Breitbandmiete gespart werden Kosten. Und um die Belastung des Servers zu verringern, besteht das Prinzip von Ajax darin, „Daten bei Bedarf abzurufen“, wodurch die Belastung des Servers durch redundante Anforderungen und Antworten minimiert werden kann.

4. Basierend auf standardisierter und weithin unterstützter Technologie, keine Notwendigkeit, Plug-Ins oder kleine Programme herunterzuladen.

8. Nachteile von Ajax

Jetzt werde ich mich auf die Mängel von Ajax konzentrieren, da die meisten von uns normalerweise auf die Vorteile achten, die Ajax uns bringt, wie z als Verbesserung der Benutzererfahrung. Die durch Ajax verursachten Mängel wurden ignoriert.

Die unten beschriebenen Mängel von Ajax werden alle dadurch verursacht.

1. Ajax deaktiviert die Zurück-Schaltfläche, wodurch der Zurück-Mechanismus des Browsers zerstört wird. Die Zurück-Schaltfläche ist eine wichtige Funktion einer Standard-Website, funktioniert jedoch nicht gut mit JavaScript. Dies ist ein ernstes Problem, das durch Ajax verursacht wird, da Benutzer häufig hoffen, den vorherigen Vorgang durch Zurückkehren abzubrechen. Gibt es also eine Lösung für dieses Problem? Die Antwort lautet: Ja. Die unter Gmail verwendete Ajax-Technologie löst dieses Problem. Sie ändert jedoch nichts am Ajax-Mechanismus Dies geschieht durch das Erstellen oder Verwenden eines versteckten IFRAME, um die Änderungen auf der Seite zu reproduzieren, wenn der Benutzer auf die Schaltfläche „Zurück“ klickt, um auf den Verlauf zuzugreifen. (Wenn der Benutzer beispielsweise in Google Maps zurückklickt, sucht es in einem versteckten IFRAME und spiegelt die Suchergebnisse dann in einem Ajax-Element wider, um den Anwendungsstatus auf den damaligen Stand wiederherzustellen.)

Obwohl dieses Problem gelöst werden kann, sind die damit verbundenen Entwicklungskosten sehr hoch, was im Widerspruch zur schnellen Entwicklung steht, die das Ajax-Framework erfordert. Dies ist ein sehr ernstes Problem, das durch Ajax verursacht wird. (Wenn Sie mehr erfahren möchten, besuchen Sie die Spalte AJAX-Entwicklungshandbuch auf der chinesischen PHP-Website, um mehr zu erfahren)

2. Sicherheitsprobleme

Technologie bringt auch neue Herausforderungen für die IT mit sich Angesichts der Sicherheitsbedrohungen für Unternehmen gleicht die Ajax-Technologie der Einrichtung eines direkten Kanals zu Unternehmensdaten. Dadurch können Entwickler unbeabsichtigt mehr Daten und Serverlogik offenlegen als zuvor. Die Ajax-Logik kann vor der clientseitigen Sicherheitsscan-Technologie verborgen werden, sodass Hacker neue Angriffe von Remote-Servern aus starten können. Auch einige bekannte Sicherheitslücken wie Cross-Site-Scripting-Angriffe, SQL-Injection-Angriffe und anmeldeinformationsbasierte Sicherheitslücken lassen sich bei Ajax nur schwer vermeiden.

3. Die Unterstützung für Suchmaschinen ist relativ schwach.

4. Den Ausnahmemechanismus des Programms zerstört. Zumindest aus heutiger Sicht zerstören Ajax-Frameworks wie ajax.dll und ajaxpro.dll den Ausnahmemechanismus des Programms. Bezüglich dieses Problems bin ich während des Entwicklungsprozesses darauf gestoßen, aber nach Überprüfung gibt es im Internet fast keine relevante Einführung. Später habe ich selbst ein Experiment durchgeführt, bei dem ich Ajax und traditionelle Formularübermittlungsmodi verwendet habe, um ein Datenelement zu löschen ... was uns beim Debuggen große Schwierigkeiten bereitete.

5. Darüber hinaus gibt es einige andere Probleme, z. B. die Verletzung der ursprünglichen Absicht der URL- und Ressourcenpositionierung. Wenn ich Ihnen beispielsweise eine URL-Adresse gebe und Ajax-Technologie verwendet wird, unterscheidet sich das, was Sie unter der URL-Adresse sehen, möglicherweise von dem, was ich unter dieser URL-Adresse sehe. Dies widerspricht der ursprünglichen Absicht der Ressourcenpositionierung.

6. Einige Handheld-Geräte (wie Mobiltelefone, PDAs usw.) unterstützen Ajax derzeit nicht sehr gut. Wenn wir beispielsweise eine Website mit Ajax-Technologie in einem mobilen Browser öffnen, ist dies derzeit nicht der Fall Unterstützen Sie es, natürlich hat dieses Problem nichts mit uns zu tun.

9. Mehrere Ajax-Frameworks

Zu den Ajax-Frameworks, die wir derzeit verwenden, gehören hauptsächlich ajax.dll, ajaxpro.dll, magicajax.dll und das Atlas-Framework von Microsoft. Es gibt keinen großen Unterschied zwischen den beiden Frameworks Ajax.dll und Ajaxpro.dll, während magicajax.dll lediglich leistungsfähiger in der Kapselung ist. Beispielsweise kann Ajax den DataSet-Datensatz direkt zurückgeben . magicajax kapselt es einfach ein. Aber diese Funktion kann uns große Bequemlichkeit bringen. Wenn unsere Seite beispielsweise eine Liste hat und sich die Daten in der Liste ständig ändern, können wir sie mit Magicajax verarbeiten. Wir werden das aktualisierte Listensteuerelement im Magicajax-Steuerelement platzieren und dann das Aktualisierungsintervall im Pageload definieren. Das Prinzip von Atlas ähnelt dem von Magicajax. Eine Sache, die jedoch beachtet werden muss, ist, dass diese Frameworks nur den IE unterstützen und sich nicht mit der Browserkompatibilität befassen. Sie können dies erkennen, indem Sie sich ihre Codes mit Dekompilierungstools ansehen.

Zusätzlich zu diesen Frameworks besteht die am häufigsten verwendete Methode darin, xmlHttpRequest-Objekte selbst zu erstellen. Diese Methode ist flexibler als die vorherigen Frameworks. Darüber hinaus möchte ich hier auch die mit aspnet2.0 gelieferte asynchrone Rückrufschnittstelle erwähnen, die auch eine lokale Nichtaktualisierung erreichen kann, aber ihre Implementierung basiert tatsächlich auf dem xmlhttprequest-Objekt IE. Natürlich ist dies eine Wettbewerbsstrategie von Microsoft.

10. Ajax-Beispiel

Überprüfen Sie, ob der Benutzername registriert ist.

Zwei Methoden anwenden

 1 ajax.dll

 2 Schreiben Sie das xmlhttprequest-Objekt selbst

10. Einige häufige Fehler in Ajax

1 Konfigurationsproblem

Bei der Konfiguration der Seite im Pageload

Der Frontend-Teil wird in der im Hintergrund aufgerufenen Methode aufgerufen...

Das war's für diesen Artikel. Es ist (Wenn Sie mehr sehen möchten, besuchen Sie die Spalte „AJAX-Benutzerhandbuch für PHP“ auf der Website, um mehr zu erfahren. Wenn Sie Fragen haben, können Sie unten eine Nachricht hinterlassen.)

Das obige ist der detaillierte Inhalt vonWissen Sie, wie Ajax funktioniert? Einführung in Ajax und detaillierte Zusammenfassung seiner Prinzipien (klassisch). 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