Request Status 0 im Firefox 3

BenschM@ster

Mitglied
Hi allerseits,
hab mal wieder ein kleines Problem mit Ajax.
Und zwar zeigt mir der Firefox 3 den Fehler Request Status 0 an.

Wenn ich allerdings direkt vor
PHP:
if(req.status != 200) {
			alert("Fehler:"+req.status);
		}
per alert(req.status) mir den Status anzeigen lasse gibt er noch 200 zurück.
Nur genau diese if-Abfrage gibt mir einen Fehler zurück.
Im Internet Explorer läuft alles wie immer. Der Fehler taucht auch erst seit dem Firefox 3 auf.
Auch der Opera macht keine Probleme.

Hier mal der komplette Code:
PHP:
var req = null;

function search(input,output) {
	try {
		req = new XMLHttpRequest();
	}
	catch (e){
		try{
			req = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			try{
				req = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed){
				req = null;
			}
		}
	}

	if (req == null)
		alert("Error creating request object!");

	//Anfrage erstellen (GET, url ist localhost,
	//request ist asynchron

	var url = './search_cats.php?anfrage='+document.getElementById(input).value;
	req.open("GET", url, true);

	//Beim abschliessen des request wird diese Funktion ausgeführt
	req.onreadystatechange = function() { ausgabe(output); };

	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	req.send(null);
}
function ausgabe(output){
	switch(req.readyState) {
		case 4:

		if(req.status != 200) {
			alert("Fehler:"+req.status);
		}
		else{
			response = document.getElementById(output);
                         id = req.responsetext;
                         response.innerHTML = req.responseText;
		}
         break;

         default:return false;
         break;
	}
}

Würde mich über Hilfe freuen.
Gruß,
Ben
 
Ist es möglich dass die Funktion zweimal aufgerufen wir? Also einmal wärend sie bereits läuft? So das das req-Objekt überschrieben wird, bevor die onreadystatechanged-funktio naufgerufen wird?
 
Scheinbar hat es tatsächlich an irgendsowas gelegen.
Hab den Aufruf vorher über onClick in einem Formular gestartet, jetzt läuft es über onChange direkt im select Feld und funktioniert.
Weiß zwar nicht was vorher daran verkehrt war, aber ich denke jetzt ist es sowieso korrekter.

Vielen Dank für die Hilfe und ein schönes Wochenende
Ben
 

Neue Beiträge

Zurück