Ajax Objekt ordnungsgemäß erstellen – eine cross-browser Lösung für korrektes Einsetzen von AJAX

08. Februar 2011  |  Kommentar schreiben   |  Tags: , ,



Bei Facebook teilen

AJAX (Ajax Asynchronous JavaScript and XML) ist eine asynchrone (oder auch synchrone) auf Javascript basierende Datenübertragung – Server zu Browser, die es ermöglicht, innerhalb einer HTML Seite eine HTTP-Anfrage auszuführen. Hierbei können beliebige beispielsweise PHP Skripte ausgeführt werden, deren Ausgabe überall auf die Seite intergriert werden kann, ohne dass man die Seite neu laden muss. Die Nutzung ist ziemlich straightforward und einfach, jedoch müssen bestimmte Gesetze eingehalten werden, damir Ihr AJAX Skript auf alle gängigen Browsern funktioniert.

Problematik

Um eine AJAX Abfrage zu programmieren, müssen Sie zunächst einen AJAX Objekt erzeugen, der die Abfrage über HTTP und Javascript absendet und die Antwort zurückgibt. Hierbei gibt es verschiedene Schreibweisen für die korrekte Erstellung des AJAX Objektes, die jeweils verschiedenen Browsern passen. Dieser Artikel setzt damit auseinander wie man ein AJAX-Objekt in einer JavaScript Funktion erstellen kann ohne nachzudenken ob der Browser das “frisst”. Die Ausführung einer Abfrage, die Wartezeit und das Handhaben der Antwort werden wir in weiteren Artikeln beobachten.

Lösung

Anbei eine Javascript Funktion, die einen AJAX Objekt cross-browser kompatibel erzeugt:

 
function CreateAjaxObject() {
    objAjaxRequest = false;
    if (window.XMLHttpRequest) {
        objAjaxRequest = new XMLHttpRequest();
        if (request.overrideMimeType) {
         objAjaxRequest.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) { // IE
        try {
         objAjaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
             objAjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
   
    return objAjaxRequest;
}

Diese Funktion funktioniert einwandfrei unter IE6 und nach oben, Safari, Mozilla, Opera und Chrome. Weitere Browser sollten das auch machen können. Um das Objekt anschließend zu erstellen, müssen einen Befehl so ausführen:

var objAjax = CreateAjaxObject();

Nun können Sie mit objAjax abfragen. Viel Spass!

Sie kommen selber nicht weiter?
Keine Sorge, nehmen Sie einfach Kontakt mit uns auf oder rufen Sie uns unter 02161 177747 an!

Teilen

Hinterlasse eine Antwort

Du musst angemeldet sein, um einen Kommentar abzugeben.