Ja, ActiveX-Objekte gibt es nur bei IE5 und IE6:
function Ajax(funktion,type,url,values,responsetype,contenttype) {
http_request = false;
if(window.XMLHttpRequest) { //Firefox, Chrome, Safari, IE7 ...
http_request = new XMLHttpRequest();
if(http_request.overrideMimeType && responsetype)
http_request.overrideMimeType(responsetype);
}else if (window.ActiveXObject) { //IE5, IE6
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e2) {}
}
}
if(!http_request) {
alert('Fehler: Kein XMLHttpRequest möglich.');
return false;
}
http_request.open(type, url, true);
if(contenttype)
http_request.setRequestHeader('Content-Type', contenttype);
http_request.onload = function () {
funktion.call(http_request.responseText, http_request.responseXML);
};
http_request.onerror = function () {
alert('Fehler: XMLHttpRequest fehlgeschlagen.');
};
http_request.send(values+'');
}
Beispiel für die Benutzung:
Ajax(function(text, xml) {
alert("Antwort als Text: "+text);
alert("XML-Knoten: "+xml.childNodes.length);
},"GET","http://www.beispiel.de:80/","?x=y&a=b","text/xml");
So sollte es gehen. Kann ein paar Fehler enthalten, da ich es auf die Schnelle geschrieben habe.
Ich empfehle Dir aber kein XML sondern JSON zu nutzen, falls Du die Server-Seite ebenfalls selbst geschrieben hast, da es in JS viel einfacher zu benutzen ist.
PS: Wenn Du so etwas wie einen Chat oder ähnliches programmieren willst, wo mehrere Clients gleichzeitig über einen Server Informationen untereinander austauschen sollen, ist es praktisch WebSockets und NodeJs zu nutzen.
Mfg Licht