template
Index :: Javascript :: Module :: Ajax-Klasse (
ajax.js)
Dieses Modul kapselt alle relevanten Methoden (wie Initialisierung, Senden und Empfangen) und Eigenschaften des HTTP-Request-Objekts. Beispiele zur Verwendung siehe unter AJAX.
Ajax = function (sUrl, fuHandler) {
var MyRequest = null;
var MyUrl = sUrl;
var MyHandler = fuHandler;
//-- public ----------
this.Valid = function () { return (MyRequest != null); }
this.Url = function (sUrl) { MyUrl = sUrl; }
this.Handler = function (fuHandler) { MyHandler = fuHandler; }
this.Get = function (sParam) {
if (MyRequest == null) return;
MyRequest.abort();
MyRequest.onreadystatechange = Listen;
MyRequest.open("GET", MyUrl+"?"+sParam, true);
MyRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
MyRequest.send(null);
}
this.Post = function (sParam) {
if (MyRequest == null) return;
MyRequest.abort();
MyRequest.onreadystatechange = Listen;
MyRequest.open("POST", MyUrl, true);
MyRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
MyRequest.send(sParam);
}
this.Abort = function () {
if (MyRequest == null) return;
MyRequest.abort();
MyRequest.onreadystatechange = Listen;
}
//-- private ----------
function Create() { // HttpRequest-Objekt erzeugen
if (MyRequest != null) return;
try { MyRequest = new XMLHttpRequest(); } // z.B. Mozilla
catch (e) {
try { MyRequest = new ActiveXObject("Msxml2.XMLHTTP"); } // IE
catch (e) {
try { MyRequest = new ActiveXObject("Microsoft.XMLHTTP"); } // IE
catch (e) {
try { MyRequest = window.createRequest(); } // diverse
catch (e) { MyRequest = null; }
}
}
}
}
function Listen() { // Callbackfunktion für Server
switch (MyRequest.readyState) {
case 4: if (MyRequest.status==200) MyHandler(MyRequest.responseText);
break;
}
}
Create(); // Initialisierung: HttpRequest-Objekt erzeugen
}
template |
 |