/** * Datenaustausch ber Ajax * * /param url der Datenseite */ function Ajax (url, request, executeOrElement) { var self = this; var requestUrl = url; // URL an die der request gesendet werden soll var request = request; // parameter die gesendet werden sollen var execute = (executeOrElement==true); // Ergebnis soll nach empfang ausgefhrt werden var element = executeOrElement; // Element in dass das Ergebnis geschrieben wird var httpobj; // Verbindungs Objekt this.response; // Empfangene Antwort this.status; // Stats Nummer this.statusText; // Status Text this.onCompletion; // funktion die bei erfolg aufgerufen werden soll /** * Ajax Objekt anlegen */ var __construct = function () { try { httpobj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { httpobj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (err) { httpobj = null; } } if (!httpobj && typeof XMLHttpRequest != "undefined") { httpobj = new XMLHttpRequest(); } }; /** * Anfrage ber Ajax starten * * /param request der zusaetzlich an die abfrage Seite gesendet wird * /param noQueue wenn die Anfrage sofort ausgefhrt werden soll (fuer Ajax interne verwaltung) */ this.run = function () { this.response = ""; if (httpobj) { httpobj.open ("POST", requestUrl, true); try { httpobj.setRequestHeader ('If-Modified-Since','Sat,1 Jan 2000 00:00:00 GMT') httpobj.setRequestHeader ('Content-Type','application/x-www-form-urlencoded') } catch (e) {} httpobj.send (request + ((document.session) ? document.session : "")); httpobj.onreadystatechange = function () { if (httpobj.readyState == 4) { self.response = httpobj.responseText; //self.status = httpobj.status; //self.statusText = httpobj.statusText; if (execute) { eval (self.response); } else if (!window.closed && (obj = document.getElementById (element))) { obj.innerHTML = self.response; } if (self.onCompletion) { self.onCompletion (self.response); } } }; } }; __construct (); }