[GELÖST] Asynchroner Request funktioniert nicht

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.

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:
Boah, du hast ein Auge, mini! Hammer. Ich hab gestern 10 Minuten auf den Quelltext gestiert und das nicht geshen.

Ralf, hast du beim Entwickeln auch immer die Fehlerkonsole offen? Vermutlich hätte da ein Syntaxfehler drin gestanden.
 
Zurück
Oben