MB: Wie funktiniert AJAX genau?

Hallo Community,

das ist eine Verständnissfrage. ich kenne AJAX und weis wie es angewändet wird. Ich verstehe aber nicht die Engine von AJAX.

ist das "intern" ein Aufruf einer javaScript Funktion die über ein internes JavaScript-Formular Daten senden bzw. abfragt? Und wie kann JavaScript Daten vom Sever bekommen? Und sendet JavaScript xml Daten oder Empfängt er angeforterte XML Daten und übersetzt sie und HTML-Code? kenne das Objekt httpRequest

AJAX steht ja für "Asyncronus JavScript and XML" also kein PHP? Wie verarbeitet der Server das denn? Leider habe ich nur halbwissen :/.

Wenn AJAX ein Kochbuchrezept aus JavaScrpt und XML kann man doch selbst die Funktion angepasst nach programmieren oder?

Schöne Grüße MB

  1. Hallo

    das ist eine Verständnissfrage. ich kenne AJAX und weis wie es angewändet wird. Ich verstehe aber nicht die Engine von AJAX.

    Ajax ist eine Art, mit JavaScript Anfragen an einen Webserver zu senden und daraufhin Daten von dort zu empfangen. Die Anfrage wird an eine Ressource auf dem Server, also ein Skript (z.B. PHP), geschickt und von diesem verarbeitet. Das serverseitige Skript sendet zum Abschluss der Verarbeitung Daten zurück an das Ajax-Skript. Dabei kann es sich um Nutzdaten handeln, die angefordert wurden oder auch nur um eine Statusmeldung (Verarbeitung erfolgreich/nicht erfolgreich, etc.).

    Man kann auf diese Weise Daten vom Webserver anfordern, die dann per JavaScript in das DOM des HTML-Dokuments eingefügt werden als auch z.B. Formulareingaben an den Server schicken, um sie dort abzuspeichern. Die Datenübertragung muss im Übrigen nicht im XML-Format erfolgen, wie der Name „Asyncronus JavScript and XML“ suggeriert. Daten können auch als HTML, Plaintext oder z.B. JSON hin und her gesendet werden.

    Tschö, Auge

    --
    Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
    Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
    1. Hallo,

      kurzer Nachtrag:

      per Ajax können beliebige Dateien vom Server geholt werden, auch Binärdateien. Mit Firefox und Safari funktioniert das sogar ohne Server von der lokalen Platte.

      Gruß
      Jürgen

  2. Lieber MB,

    in Ergänzung zu den Ausführungen von @Auge:

    AJAX steht ja für "Asyncronus JavScript and XML" also kein PHP? Wie verarbeitet der Server das denn?

    Der Server erhält einen HTTP(S)-Request mit entweder GET, POST oder was auch immer Du Deinem XmlHttpRequest-Objekt als Header abverlangst. Für den Server ist nicht klar, ob der Request durch AJAX entsteht, oder ob jemand einfach diesen URL in die Adresszeile seines Browsers eingegeben hat, oder ob jemand per wget etwas von einer Konsole aus anfordert.

    Liebe Grüße,

    Felix Riesterer.

  3. Hallo Community,

    ersteinmal vielen dank für die Antworten. Wahrscheinlich habe ich mich nicht gut ausgedrückt da ich das oberflächlich weis. Neu ist mit das holen und senden von daten nicht nur XML.

    die eigentliche Frage steht am ende. Zur Wiederholung:

    Wenn AJAX ein Kochbuchrezept aus JavaScrpt und XML kann man doch selbst die Funktion angepasst nachprogrammieren oder?

    Herzliche Grüße MB

    1. Ich denke du verstehst da irgendwas noch falsch.

      Wenn AJAX ein Kochbuchrezept aus JavaScrpt und XML kann man doch selbst die Funktion angepasst nachprogrammieren oder?

      Welche Funktion willst du wie anpassen? Du hast mit AJAX eine Funktion um irgendwelche beliebigen Daten vom Server zu laden. Was willst du da anpassen und nachprogrammieren?

      1. Hallo encoder,

        Welche Funktion willst du wie anpassen? Du hast mit AJAX eine Funktion um irgendwelche beliebigen Daten vom Server zu laden. Was willst du da anpassen und nachprogrammieren?

        ah jetzt verstehe ich. ok ich muss mich anders ausdrücken. Danke für die Frage.

        Herzlichste Grüße MB

  4. AJAX steht ja für "Asyncronus JavScript and XML" also kein PHP?

    Dafür stand es mal, aber das ist heute kaum mehr relevant. Asynchron ist in JavaScript so Manches und auf XML war die Technik sowieso nie beschränkt. Der offizielle Name ist übrigens XMLHttpRequest. Da steckt unnötiger Weise auch wieder XML drin, wesentlich ist aber der zweite Namensteil: HttpRequest charakterisiert die API sehr gut, denn nur darum geht es: Http-Anfragen verschicken. Das was dein Browser eigentlich eh schon die ganze Zeit macht, nur eben automatisiert durch win Skript.

    Wenn AJAX ein Kochbuchrezept aus JavaScrpt und XML kann man doch selbst die Funktion angepasst nach programmieren oder?

    Vergiss die Buzzwords. Die Namensgebung ist zur Herleitung des darunter liegende Konzepts total irreführend. Mach dich lieber mit der Grundlagenterminologie von HTTP vertraut: Server, Client, Anfrage und Antwort genügen fur den Anfang. Dann vesuche anhand einiger AJAX-Beispiele die einzelne Rollen zu identifizieren. Dann kannst du dir solchen Fragen ganz schnell selber beantwoten.

    Der Vorläufer von AJAX war übrigens JSONP. Das war faktisch ein Workaround, um die Netzwerk-Funktionalität nur mit den damals zur Verfüng stehenden Mitteln zu erreichen.