Da ich in erster Linie ein serverseitiger Programmierer (ASP.NET WebForms) war, versuche ich, mich um AJAX zu kümmern, und zwar außerhalb des "Catch-All" -Ansatzes der Verwendung von UpdatePanels in den Microsoft AJAX-Steuerelementen. Meine Frage hat ein paar Teile:
Hier ist die kurze und süße Version.
Nein, aber es ist wirklich die einzige Sprache, die in einer Vielzahl von Browsern unterstützt wird. Wenn Sie nur an IE interessiert sind, können Sie VBScript verwenden, aber es ist kein zusätzlicher Aufwand, JS zu verwenden und breitere Unterstützung zu erhalten, so ziemlich jeder benutzt JS.
AJAX ist nicht so kompliziert wie es scheint. Kurz gesagt, es ist clientseitiger Code, der im Browser ausgeführt wird, um das Layout oder den Inhalt der aktuellen Seite basierend auf Daten zu ändern, die vom Web-Server mithilfe des XMLHttpRequest-Objekts abgefragt werden.
Der komplizierteste Teil ist die unterschiedliche Syntax / das Verhalten der verschiedenen Browser, weshalb die meisten Leute ein Framework verwenden, das die meisten davon abstrahiert.
Hier ist ein einfaches "Hello World" -Skript mit AJAX:
%Vor%Quelle: Ссылка
Die letzte Komplikation besteht darin, das, was Sie vom Server erhalten, in eine geeignete Form zu parsen, mit der der Code umgehen kann. Die häufigsten Optons sind:
JSON: Analysiert mithilfe der JavaScript-Funktion EVAL einfach Objekte. Schön für das Zurückziehen von Informationen über eine einzelne Entität mit mehreren Attribute.
XML: Parsen leicht mit den in JS integrierten DOM-Methoden, aber komplexer als JSON. Wenn Sie ein brauchen viel mehr Kontrolle oder wollen XSLT tun verwandelt, das ist eine anständige Option. Theoretisch könnte es als ein wenig sicherer angesehen werden, da es nicht erforderlich ist, beliebige Strings in EVAL zu übergeben, die bösartigen Code auf dem Client ausführen könnten, aber dies ist strittig.
Unstrukturierter Text: Wenn Sie nur einen einzelnen Wert zurück haben möchten, den anderen Zwei Methoden können ein bisschen Overkill sein.
AJAX ist im Allgemeinen der Austausch, der Läufer, wenn Sie möchten, von Daten zwischen Client-Seite und Server-Seite, und natürlich umgekehrt.
Der Fortschritt von AJAX ist mit dem Aufstieg von Open Source, dem "Social" Web und einem schnell wachsenden Netzwerk von Amateur- und Profientwicklern einhergegangen. Dies wiederum hat die Entwicklung vieler JavaScript-Frameworks ( jQuery , ) ausgelöst Prototyp , Mootools , Glow usw.), die diese" Nuancen ", die Sie erwähnt haben, im Wesentlichen entfernen oder zumindest sehr gut maskieren.
AJAX ist jedoch nicht einfach ein clientseitiges Skript, das mit einem serverseitigen Skript interagiert. XHTML und CSS zur Darstellung, das Document Object Model zur dynamischen Darstellung und Interaktion mit Daten, XML und XSLT (und neuerdings auch JSON ) für den Austausch, die Manipulation und Anzeige von Daten bzw. das XMLHttpRequest-Objekt für die asynchrone Kommunikation und schließlich für das Zusammenführen dieser Technologien mit JavaScript ( wikipedia ).
AJAX / JavaScript ist nicht die einzige clientseitige Lösung, andere etablierte Lösungen wie Java und Flash haben immer noch ihren Platz. Aber JavaScript wird größtenteils von allen modernen Browsern unterstützt, und tatsächlich nehmen die JavaScript-Engines dieser Browser schnell an Geschwindigkeit zu und eröffnen viel mehr Möglichkeiten für eine nahtlose Interaktion zwischen dem Front-End und dem Back-End / p>
Ich hoffe, ich habe nicht zu viel gewuselt, Sie haben gefragt;)
Ist JavaScript die einzige Option für clientseitiges Scripting das wird serverseitige Kommunikation unterstützen? Ob Nicht was sind die Alternativen.
Ja, Javascript ist das, was Sie verwenden werden. Auch wenn es andere verfügbare Optionen wie VBScript gibt, sollten Sie Javascript verwenden, da es am weitesten verbreitet ist.
Was ist die "allgemeine" Architektur von eine AJAX-Anwendung? Ist es einfach JavaScript (clientseitiges Skript) Interaktion mit Server-Seite Ressourcen (Daten / Remote-Funktionalität durch Web-Services verfügbar gemacht)?
Das stimmt genau. Web-Services oder generische Handler liefern die notwendigen Daten im JSON- oder XML-Format, die beide einfach mit Javascript verarbeitet werden können.
Meiner Meinung nach ist die Sache mit AJAX, die die meisten ASP.NET-Webformularentwickler auflöst, der asynchrone Aspekt.
Alle aktuellen Antworten sind gut, aber sie vernachlässigen einen Punkt. AJAX ist kein Skript oder Sprache oder Technologie als solche, Sie können nicht etwas in AJAX schreiben. AJAX ist nur ein Bündelungsbegriff.
Dies ist von Wikipedia :
Wie DHTML und LAMP ist AJAX keine Technologie für sich, sondern eine Gruppe von Technologien. AJAX verwendet eine Kombination aus:
JavaScript alternative VbScript (wenn ich eine nennen muss und hüte dich, es ist MS-Technologie und funktioniert nur mit IE), Aber praktisch gesprochen JavaScript ist eine allgemein akzeptierte Lösung für clientseitige Skripting.
Für Ajax Bitte beziehen Sie sich auf SO Diskussionen:
Tags und Links javascript ajax web-services client-side