Reaktivlicht
New member
Hallo,
ich habe ein kleines Problem mit AJAX.
Ich nutze diesen Code, um den Inhalt einer ComboBox zu ändern, ohne die ganze Seite neu laden zu müssen.
Leider funktioniert er nicht, da onreadystatechanged niemals getriggert wird. Die alert-Anweisung ist dazu da, anzuzeigen, dass die Funktion ausgeführt wird.
Wenn ich den Request sychron starte und die auskommentierte Zeile wieder rein nehme, funktioniert alles wunderbar. Aber eben synchron. Und das möchte ich aus naheliegenden Gründen nicht.
Das Problem tritt sowohl bei Firefox (30.0) als auch im Internet Explorer (11.0.9) auf.
Kann mir jemand weiterhelfen?
Danke, Ralf
ich habe ein kleines Problem mit AJAX.
Ich nutze diesen Code, um den Inhalt einer ComboBox zu ändern, ohne die ganze Seite neu laden zu müssen.
Code:
<script type="text/javascript">
function continentChanged(str) {
xmlHttp = getXmlHttpObject();
if (xmlHttp == null) {
alert("Your browser does not support AJAX.");
return;
}
var url="getCountries.php?q="+str+"&sid="+Math.random();
xmlHttp.onreadystatechanged = function() {
alert(xmlHttp.readyState);
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
document.getElementById('divCountry').innerHTML = xmlHttp.responseText;
}
};
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
//document.getElementById('divCountry').innerHTML = xmlHttp.responseText;
}
function getXmlHttpObject() {
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
</script>
Leider funktioniert er nicht, da onreadystatechanged niemals getriggert wird. Die alert-Anweisung ist dazu da, anzuzeigen, dass die Funktion ausgeführt wird.
Wenn ich den Request sychron starte und die auskommentierte Zeile wieder rein nehme, funktioniert alles wunderbar. Aber eben synchron. Und das möchte ich aus naheliegenden Gründen nicht.
Das Problem tritt sowohl bei Firefox (30.0) als auch im Internet Explorer (11.0.9) auf.
Kann mir jemand weiterhelfen?
Danke, Ralf
Zuletzt bearbeitet von einem Moderator: