vocaris2000
Grünschnabel
Hallo,
ich versuche gerade eine Seite mit AJAX zu designen. Beim letzten mal (mit ASP.Net) hat auch alles super funktioniert. Diesmal habe ich jedoch serverseitig php und irgendwie will es nicht. Also erstmal ein wenig Quellcode:
Der XML-String der von meiner PHP-Seite generiert wird ist der folgende:
<?xml version="1.0" encoding="uft-8"?><mapdata><header><requestid>1</requestid><num_rows>1</num_rows></header><body><location x="100" y="100">Location 1</location></body></mapdata>
Die Zeile "alert(ajaxHandler.responseText);" gibt mir auch genau diesen XML-String aus. Aber bereits der "alert(data);" gibt mir Firefox einen null - im IE [object]. Die Zeile danach verursacht im Firefox die Fehlermeldung "data has no properties" im IE wird hier kein Fehler erzeugt, statt dessen gibt der "alert(header);" einen null aus.
Für mich sieht es so aus, als wenn der responseXML "ins leere läuft" - aber wieso? Kann mir irgendjemand helfen?
Gruß
vocaris2000
ich versuche gerade eine Seite mit AJAX zu designen. Beim letzten mal (mit ASP.Net) hat auch alles super funktioniert. Diesmal habe ich jedoch serverseitig php und irgendwie will es nicht. Also erstmal ein wenig Quellcode:
Code:
// Request erzeugen
function getRequest() {
var ajaxHandler = false;
// Handler für IE erzeugen
try {
ajaxHandler = new ActiveXObject("Microsoft.XMLHTTP");
} catch (ex) {}
// Wenn nicht erzeugt, dann für andere Browser erzeugen
if (!ajaxHandler) {
try {
ajaxHandler = new XMLHttpRequest();
} catch (ex) {}
}
// Handler zurückgeben
return ajaxHandler;
}
ajaxHandler = getRequest();
function loadData() {
var url = "webservice.php";
var params = "func=locations";
ajaxHandler.open('POST', url, true);
ajaxHandler.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
ajaxHandler.onreadystatechange = callBack;
ajaxHandler.send(params);
}
function callBack() {
switch (ajaxHandler.readyState) {
case 4:
if (ajaxHandler.status != 200) {
alert("Der Request wurde abgeschlossen ist aber nicht OK\nFehler:" + ajaxHandler.status);
} else {
alert(ajaxHandler.responseText);
try {
var data = ajaxHandler.responseXML;
alert(data);
var header = data.documentElement;
alert(header);
} catch (e) {
alert('Error:\n'+e.message);
}
}
break;
default:
break;
}
}
loadData();
Der XML-String der von meiner PHP-Seite generiert wird ist der folgende:
<?xml version="1.0" encoding="uft-8"?><mapdata><header><requestid>1</requestid><num_rows>1</num_rows></header><body><location x="100" y="100">Location 1</location></body></mapdata>
Die Zeile "alert(ajaxHandler.responseText);" gibt mir auch genau diesen XML-String aus. Aber bereits der "alert(data);" gibt mir Firefox einen null - im IE [object]. Die Zeile danach verursacht im Firefox die Fehlermeldung "data has no properties" im IE wird hier kein Fehler erzeugt, statt dessen gibt der "alert(header);" einen null aus.
Für mich sieht es so aus, als wenn der responseXML "ins leere läuft" - aber wieso? Kann mir irgendjemand helfen?
Gruß
vocaris2000