Heim > Web-Frontend > js-Tutorial > Hauptteil

Welche Technologien umfasst Ajax? Zusammenfassung der Bedeutung der Ajax-Technologie (mit Beispielen)

寻∝梦
Freigeben: 2018-09-10 16:29:33
Original
3764 Leute haben es durchsucht

Dieser Artikel stellt Ihnen hauptsächlich die Ursachen und Folgen von Ajax sowie einige Vor- und Nachteile von Ajax vor. Schauen wir uns nun gemeinsam diesen Artikel an

1. Hintergrund der Ajax-Technologie:

Es ist unbestreitbar, dass die Popularität der Ajax-Technologie auf die starke Förderung von Google zurückzuführen ist. Dies liegt genau an der weit verbreiteten Anwendung der Ajax-Technologie wie Google Earth , Google Suggest und Gmail führten zur Popularität von Ajax. 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. Zusammenfassung der Bedeutung der Ajax-Technologie:

Wir sind in unserer täglichen Entwicklung mehr oder weniger mit Ajax in Berührung gekommen Bedeutung der Ajax-Technologie. Unser Hauptaugenmerk liegt zweifellos auf der 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. Um ehrlich zu sein, ist es nicht so sehr Dadurch wird das Problem lediglich maskiert. Es fungiert lediglich als Puffer zwischen dem Server und dem Client und täuscht den Benutzern vor, dass es keine Unterbrechung des Dienstes gäbe. Um genau zu sein, erhöht 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. Lassen Sie mich dies anhand eines Beispiels veranschaulichen. Wir können Outlook vergleichen Express und Gmail, ersteres ist eine typische Desktop-Software, und letzteres ist ein von Ajax implementierter B/S-Modus. Tatsächlich ersetzt letzteres langsam das erstere Gmail beim Senden und Empfangen von E-Mails. Der Unterschied besteht darin, dass keine Installation von Client-Programmen erforderlich ist. 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 ist Asynchronous JavaScript und XML. Unter ihnen bedeutet Asynchronous asynchron, was sich vom herkömmlichen Web unterscheidet Es wird ein synchroner Ansatz gewählt.

Über synchrone und asynchrone Übertragung:

Asynchrone Übertragung ist zeichenorientierte Übertragung, und ihre Einheit ist Zeichen; synchrone Übertragung ist bitorientierte Übertragung, und ihre Einheit ist Rahmen erfordert, dass die Uhren des Empfängers und des Senders während der Übertragung 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 von Synchronisationszeichen, bei dem es sich um eine einzigartige Kombination von Bits handelt, ähnlich dem zuvor erwähnten Startbit, die verwendet wird, um den Empfänger darüber zu informieren, dass ein Rahmen angekommen ist, aber das ist möglich Stellen Sie außerdem sicher, dass die Abtastgeschwindigkeit des Empfängers mit der Ankunftsgeschwindigkeit der Bits übereinstimmt, damit 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.

Synchronisierte Übertragungen sind normalerweise viel schneller als asynchrone Übertragungen. 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.

Während dieser 10 Stunden wurde der Wasserfluss nicht vollständig unterbrochen, aber die Durchflussrate war nach 10 Stunden wieder normal warst du? Anscheinend ist es Letzteres.

4. 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.

5. 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 dabei ist das Abrufen der Anforderungsdaten vom Server. 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 Anfragen 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.

Also fangen wir mit XMLHttpRequest an und sehen, wie es funktioniert.

Werfen wir zunächst einen Blick auf die Eigenschaften des XMLHttpRequest-Objekts.

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.

responseXML Das DOM-kompatible Dokumentdatenobjekt, das vom Serverprozess zurückgegeben wird.

Status ist der vom Server zurückgegebene numerische Code, z. B. die üblichen 404 (nicht gefunden) und 200 (bereit).

Status Textzeichenfolgeninformationen, die den Statuscode begleiten

readyState Objektstatuswert

0 (nicht initialisiert) Das Objekt wurde erstellt, aber nicht initialisiert (die Open-Methode wurde noch nicht aufgerufen)

1 (Initialisiert) Das Objekt wurde 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. Derzeit 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 möglicherweise unterschiedliche Methoden erforderlich. Dieser Unterschied spiegelt sich hauptsächlich zwischen dem IE und anderen Browsern wider. Das Folgende ist eine relativ Standardmethode 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 TestAjax()
{
var data=document.getElementByIdx("username").value;
CreateXmlHttp();
if(!xmlhttp)
{
alert("创建xmlhttp对象异常!");
return false;
}
xmlhttp.open("POST",url,false);
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
document.getElementByIdx("user1").innerHTML="数据正在加载...";
if(xmlhttp.status==200)
{
document.write(xmlhttp.responseText);
}
}
}
xmlhttp.send();
}
Nach dem Login kopieren

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 wurde gesendet. 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 angeben. Auf einigen Seiten werden möglicherweise mehrere Anforderungen oder sogar umfangreiche Anforderungen mit hoher Intensität ausgegeben, die organisiert, geplant und erstellt werden. Letztere überschreiben die vorherige . Natürlich müssen Sie die Synchronisationsmethode angeben.

Sendemethode 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.

6. 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 innerhalb der Seite mit dem Server 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 schnellere Antwortmöglichkeiten zu haben.

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 ist es nicht erforderlich, Plug-Ins oder kleine Programme herunterzuladen.

7. Nachteile von Ajax:

Jetzt werde ich mich auf die Mängel von Ajax konzentrieren, denn normalerweise achten wir hauptsächlich auf die Vorteile, die Ajax uns bringt wie die Verbesserung der Benutzererfahrung. Die durch Ajax verursachten Mängel wurden ignoriert. (Wenn Sie mehr erfahren möchten, besuchen Sie die Spalte

AJAX-Entwicklungshandbuch

auf der chinesischen PHP-Website, um mehr zu erfahren) Die unten beschriebenen Mängel von Ajax werden alle durch seine Angeborenheit 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. (Zum Beispiel, wenn ein Nutzer bei Google sucht Wenn Sie in Maps auf „Zurück“ klicken, wird in einem ausgeblendeten IFRAME gesucht und die Suchergebnisse dann auf das Ajax-Element übertragen, um den Anwendungsstatus auf seinen aktuellen Status zurückzusetzen. )

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.

2. Sicherheitsprobleme

Technologie bringt auch neue Sicherheitsbedrohungen für IT-Unternehmen mit sich. Ajax-Technologie ist wie die Einrichtung eines direkten Kanals für 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. Der Ausnahmemechanismus des Programms wurde 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 den herkömmlichen Formularübermittlungsmodus 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.

8. Mehrere Ajax-Frameworks

Zu den derzeit von uns verwendeten Ajax-Frameworks 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 es 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. Dies können Sie 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 asynchrone Rückrufschnittstelle erwähnen, die wie Ajax 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.

9. Ajax-Anwendungsbeispiele

Der obige Inhalt stammt aus Materialien, die von Experten verfasst wurden. Im Folgenden werde ich ein Beispiel für meine tatsächliche Anwendung im Projekt geben Das ist so: Im Dienstvereinbarungsmodul eines Projekts, an dem ich teilgenommen habe, wird bei der Auswahl der diensthabenden Person ein TreeView-Strukturdiagramm des Kontaktbaums angezeigt. Klicken Sie auf die Abteilung, und die Kontakte unter der Abteilung werden angezeigt Ursprünglich sah es so aus: Nach der Auswahl bestimmter Kontakte hat die Person, die tagsüber oder nachts Dienst hat, das Format „Little A, Little B“, aber jetzt muss es das Format „Little A (Abteilung 1)“ haben ), Little B (Abteilung 2)“ hier Nehmen Sie an, dass Little A zur Abteilung Eins und Little B zur Abteilung Zwei gehört. Da es sich bei der Auswahl von Kontakten um einen reinen Front-End-Javascript-Vorgang handelt, müssen Sie hier den Namen der Abteilung über die Abteilungs-ID in der Kontaktbenutzerlistentabelle abrufen, dh die Back-End-Daten erhalten Sie über das Front-End, das ich ebenfalls erklärt habe dies in Serie 5, unten. Geben Sie den Code ein:

var param= "date=<%=stryear%>/<%=strmonth%>/" + x <%=stryear%><%=strmonth%>
+"&Type=" + type
+"&Other=" + eval_r("formData.RBOTHER"+x+".value")
+"&ZBRY=" + eval_r("formData.RBZBRY"+x+".value")
+"&ZBRYID=" + eval_r("formData.RBZBRYID"+x+".value")
+"&Demo=" + eval_r("formData.RBDEMO"+x+".value")
+"&id=" + eval_r("formData.RBZBID"+x+".value");//传递的参数
var retVal = window.showModalDialog( "chooseUsers.asp?"+param,this, "dialogWidth=280px; dialogHeight=500px; help=no; status=no; scroll=no; resizable=yes; ");
//弹出对话框取得联系人
//ajax调用服务器端方法取到部门名称
if(retVal [&#39;userIds&#39;]!=""&& retVal [&#39;userIds&#39;]!=null)//联系人id集合格式1,2,3,4
{
var PostUrl=" ../../../Application/CallBoard/GetDepartMentByUid.aspx?userIDs="+objRetVal[&#39;userIds&#39;]+"";//后台处理页面url
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//新建一个xmlhttprequest对象
xmlHttp.open("POST", PostUrl, false);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send("");
var builder= xmlHttp.responseText; //将值传递回来,拼成了新格式
eval_r("formData.RBZBRY"+x+".value = &#39;" +builder+"&#39;");// formData.RBZBRY为一文本控件,将显示值班人员新格式
}
}
Nach dem Login kopieren

本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。

Das obige ist der detaillierte Inhalt vonWelche Technologien umfasst Ajax? Zusammenfassung der Bedeutung der Ajax-Technologie (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!