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.
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 AntwortHallo,
damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr
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 AntwortIch hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr
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 AntwortenJa genau, das war der Fehler. Vielen Dank Alex.
Hier der korrigierte Code:
<html>
<head>
<title>
Test
... » mehr
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 AntwortenJa hervorragend, dass ist genau das was ich möchte. Danke ... » mehr
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 AntwortenSoo...hat lange gedauert...aber jetzt ist es endlich ... » mehr
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

JavaScript & AJAX, m. DVD-ROM
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite