JavaScript & Ajax (Bestandteil des Web 2.0)

Ajax (die Kurzform von Asynchronous JavaScript and XML) ist ein Verfahren zur asynchronen Datenübertragung. Dabei wird zur Erlangung des Datenmaterials – im Gegensatz zu konventionellen Methoden – nicht die ganze Seite neu geladen, sondern lediglich die zur Darstellung benötigten Daten nachgeladen. Die auf diese Weise ermittelten Daten werden mit Hilfe von JavaScript in das bereits im Browserfenster befindliche HTML-Dokument integriert.

Dazu bedient man sich den durch das Document Object Model (DOM) gegebenen Möglichkeiten, Seiteninhalte dynamisch anzupassen. Mit Hilfe dieser Technologie lassen sich einzelne Bestandteile einer Internetseite oder zur individuellen Darstellung bestimmte Nutzdaten einer Internetseite bei Bedarf nachladen. Der Begriff Ajax wurde Anfang 2005 durch einen Artikel von Jesse James Garrett eingeführt. Entsprechende Ajax-Anwendungsbeispiele mit kommentiertem Quellcode finden Sie auf den Folgeseiten.

Neu war das hinter Ajax stehende Konzept zum Zeitpunkt der Begriffsfindung allerdings nicht mehr. Die zugrundeliegenden Technologien waren bereits Ende der 1990er Jahre vorhanden. Als elementarer Bestandteil des Web 2.0 getauften „neuen Internet” erlangte Ajax in den letzten Jahren in erheblichem Maße an Bedeutung. Die Interaktion mit dem Benutzer wird durch Verwendung von Ajax erheblich beschleunigt. Dadurch „fühlt” sich eine mit Ajax implementierte Webanwendung eher wie eine lokale Anwendung als wie ein Webservice an.

Auch wird die zu übertragende Datenmenge deutlich reduziert, was zu einer Entlastung der zur Verfügung stehenden Übertragungswege des Internet führt – bestehende Bandbreite wird optimal ausgenutzt. Im Gegensatz zu anderen Verfahren werden keine zusätzlichen Browser-Plugins benötigt, wodurch die Hürden zur Nutzung dynamischer Dienste äußerst gering gehalten werden.

Basis einer jeden Ajax-Anwendung ist das XMLHttpRequest-Objekt. Dieses Objekt ist Dreh- und Angelpunkt bei der ansynchronen Kommunikation des Browsers mit dem Webserver. Mittels XMLHttpRequest-Objekt werden einzelne HTTP-Anfragen an den Webserver gerichtet, wobei Parameter – auf die selbe Art und Weise, wie bei „normalen” dynamisch erzeugten Internetseiten – entweder per Get oder per Post übertragen werden. Als Antwort liefert der Webserver allerdings in den meisten Fällen nicht die üblichen (X)HTML-Dateien, sondern lediglich Nutzdaten, die dann per JavaScript (DHTML) in die bereits dargestellte Seite integriert werden.

Die gelieferten Nutzdaten werden meist in Form von XML-Dateien vom Server verschickt. Aber auch die Übertragung der Nutzdaten als normale Textdateien ist möglich. Das XML-Format hat allerdings den Vorteil, dass die in JavaScript bereits integrierten Methoden zum Umgang mit Daten in XML-Struktur enthalten sind. So können beispielsweise die Methoden getElementsByTagName, getAttributeNode und getAttribute des Node-Objekts verwendet werden, um auf die Elemente und Attribute einer XML-Datei zuzugreifen. Eine Textdatei muss dagegen manuell per JavaScript „auseinandergepflückt” werden, bevor die Nutzdaten in das HTML-Dokument integriert werden können.

Wann ein Ajax-Request abgesetzt wird hängt davon ab, inwiefern Informationen vorliegen müssen, die bei der Anfrage an den Server gesendet werden müssen. Die nötigen Daten können beispielsweise in einem Formular, welches zuvor ausgefüllt werden muss, eingetragen werden. Bestätigt der Benutzer diese Eingabe, so wird der Request samt Parameter an den Server gesendet. Auch werden verschiedene Events genutzt um das Senden einer Ajax-Anfrage einzuleiten. Werden keine weiteren Informationen zur parametrisierung einer Anfrage benötigt, so kann das onLoad-Event verwendet werden, welches automatisch nach Laden der Seite ausgelöst wird. Mit dem onClick-Event kann eine Ajax-Abfrage gestartet werden, wenn der Benutzer auf ein bestimmtes HTML-Element geklickt hat. Welche Variante zur Anwendung kommt, hängt dabei stets vom Anwendungsfall und dem zu modellierenden Prozess ab.

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht