24 Stimmen

Was ist AJAX eigentlich?

Ich muss anfangen, AJAX in einem Projekt zu verwenden und weiß nicht, wo ich anfangen soll. Kann jemand bitte helfen?

28voto

Corey Sunwold Punkte 10012

A synchron J avaScript A und X ml. Eine Technik zur bidirektionalen, skriptgesteuerten Kommunikation zwischen Webbrowsern und Servern über HTTP.

Siehe auch:

Editar: Wie von Nosredna hervorgehoben, JSON wird häufig anstelle von XML verwendet.

20voto

Nosredna Punkte 78203

Die grobe Idee auf Englisch:

Sie haben eine Webseite. Ein Ereignis (z. B. das Drücken einer Schaltfläche, ein anderes Formularereignis oder ein von einem Timer ausgelöstes Ereignis) tritt ein und löst JavaScript-Code aus, der den Server nach neuen Informationen fragt (z. B. nach dem aktuellen Wert der GOOG-Aktie).

Auf dem Server befindet sich ein Stück Code, das die von Ihnen übermittelten Informationen sammelt und einige Informationen zurückschickt. Das ist etwas anderes als die Aufgabe, die der Server normalerweise hat.

Wenn der Server antwortet, wird eine Callback-Funktion (die Sie in dem JavaScript-Aufruf an den Server angegeben haben) mit den Informationen vom Server aufgerufen. Ihr JavaScript-Code verwendet die Informationen, um etwas zu aktualisieren, z. B. ein GOOG-Aktiendiagramm.

15voto

RSolberg Punkte 26515

Nicht zu verwechseln mit dem Reiniger AJAX, der Technologiebegriff beschreibt eigentlich ein Framework oder besser gesagt eine Technik zur Verwendung von XML und JavaScript, um asynchrone Aufrufe an serverseitigen Code zu tätigen...

Hier sind einige gute Code-Beispiele . Und einige mehr .

Viele der oben genannten Beispiele zeigen, wie alle XML-Anforderungsobjekte erstellt werden. Wenn Sie sich das AJAX Control Toolkit von Microsoft für ASP.NET-Anwendungen oder jQuery ansehen, werden Sie feststellen, dass es einfacher ist, mit diesen zu arbeiten.

jQuery-Beispiel (von jQuery Seite):
Wenn der Code aufgerufen wird, wird die Datei some.php aufgerufen, wobei die Werte für Name und Ort übergeben werden.

    <script type="javascript">
        function saveDataAjax(){ 
        $.ajax({
           type: "POST",
           url: "some.php",
           data: "name=John&location=Boston",
           success: function(msg){
             alert( "Data Saved: " + msg );
           }
         });
       }
   </script>
   <input type="submit" onClick="saveDataAjax();" value="submit" />

7voto

hasen Punkte 154413

Das ist ein Schlagwort, das ist die Essenz davon:

Verwendung von Javascript zur Erstellung einer asynchrone HTTP-Anfrage (im Hintergrund) .

Wenn der Inhalt eintrifft, wird eine Aktion ausgeführt, in der Regel eine Logik, die dann das Erscheinungsbild der Seite durch Manipulation des DOM-Baums aktualisiert, d. h. neue HTML-Elemente einfügt, einige HTML-Elemente löscht usw.

Das X in AJAX steht für XML, aber das ist irrelevant. XML ist einfach un von vielen Möglichkeiten, die vom Server gesendeten Daten zu formatieren. JSON ist eine viel bessere Alternative (IMNSHO). Außerdem kann der Server reinen Text oder einfach nur normales HTML senden.

Das Schlüsselwort hier ist asynchrone Anfrage. Eine Anfrage, die im Hintergrund abläuft, ohne dass der Browser die Seite neu laden muss.

6voto

eKek0 Punkte 22479

De la Pragmatischer Ajax Buch:

Was ist Ajax?

Ajax ist ein schwer zu destillierendes Biest Einzeiler zu bringen. Der Grund, warum es so schwer ist, ist weil es zwei Seiten hat:

  • Ajax kann als eine Reihe von Technologien betrachten.
  • Ajax kann betrachtet werden als eine Architektur betrachten.

Ajax: Asynchrones JavaScript und XML

Der Name Ajax stammt von der Bündelung der zugrundeliegenden Technologien: ein asynchronen Kommunikationskanal zwischen dem Browser und dem Server, JavaScript und XML. Als die Technologie entwickelt wurde, hatte man sich folgendes vorgestellt folgendes:

  • Standardisierte Darstellung mit XHTML und CSS
  • Dynamische Anzeige und Interaktion unter Verwendung des DocumentObjects des Browsers Modell (DOM)
  • Datenaustausch und -manipulation mit XML und XSLT
  • Asynchroner Datenabruf mit XMLHttpRequest oder XMLHTTP (von Microsoft)
  • JavaScript verbindet alles miteinander

Obwohl es üblich ist, die Entwicklung mit diese Technologien zu entwickeln, kann es schnell mehr Ärger als Nutzen Belohnung.

Aus diesen Gründen sind die mehr wichtigere Bezeichnung für Ajax ist...

Ajax: Die Architektur

Die aufregende Entwicklung, die Ajax darstellt, ist in der Art und Weise, wie Sie Webanwendungen entwickeln. Schauen wir uns zunächst die konventionelle Web-Architektur:

  1. Dene eine Seite für jedes Ereignis in der Anwendung: Artikel ansehen, kaufen Artikel, zur Kasse gehen und so weiter.
  2. Jedes Ereignis bzw. jede Aktion gibt eine vollständige Seite an den Browser zurück.
  3. Diese Seite wird dem Benutzer angezeigt.

Das erscheint uns jetzt ganz natürlich. Es machte zu Beginn des Webs sinnvoll, da es im das Web nicht wirklich etwas mit Anwendungen. Das Web war anfangs mehr ein Dokumentenspeicher; es war eine Welt eine Welt, in der man einfach ad hoc ad hoc zwischen Dokumenten verknüpfen konnte. Es ging es um den Austausch von Dokumenten und Daten, nicht um Interaktivität in einem sinnvollen Sinn.

Stellen Sie sich eine umfangreiche Desktop-Anwendung für einen Moment lang vor. Stellen Sie sich vor, was Sie denken würden wenn bei jedem Klick alle Komponenten Komponenten auf dem Anwendungsbildschirm von Grund auf neu erstellt werden. Klingt ein bisschen verrückt, nicht wahr? Im Web war das die Welt, in der wir lebten, bis Ajax aufkam aufkam.

Ajax ist eine neue Architektur. Die wichtigen Teile dieser Architektur sind:

  • Kleine serverseitige Ereignisse: Jetzt können Komponenten in einer Webanwendung kleine Anfragen an einen Server stellen, Informationen abrufen und die angezeigte Seite, die angezeigt wird, durch Änderung des DOM. Keine vollständige Aktualisierung der Seite.

  • Asynchron: Anfragen, die an den Server zurückgesendet werden, verursachen nicht die Browser zu blockieren. Der Benutzer kann andere Teile der Anwendung weiter nutzen Anwendung verwenden, und die Benutzeroberfläche kann aktualisiert werden um den Benutzer darauf hinzuweisen, dass eine Anfrage stattgefunden hat.

  • onAnything: Wir können mit dem Server auf der Grundlage von fast allem interagieren der Benutzer tut. Moderne Browser fangen die meisten der gleichen Benutzerereignisse wie das Betriebssystem: Mouseover, Mausklicks Mausklicks, Tastendrucke, etc. Jedes Benutzer Ereignis kann eine asynchrone Anfrage auslösen.

Das hört sich alles sehr gut an, nicht wahr? Mit dieser Änderung müssen wir aber vorsichtig sein. Eines der größten des Internets ist, dass jeder es benutzen kann. Eine einfache Semantik hilft dabei. Wenn wir zu weit gehen, könnten wir beginnen, die Benutzer mit neuen UI-Abstraktionen überraschen. Dies ist eine häufige Beschwerde bei Flash-Benutzeroberflächen, bei denen Benutzer mit neuen Symbolen konfrontiert werden, Metaphern und erforderlichen Aktionen konfrontiert werden, um nützliche Ergebnisse zu erzielen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X