Rhodes: Probleme mit Firefox und Ajax

Hallo miteinander,

ich werde noch irre mit Firefox und dem Absetzen eines AJAX Requests. Vielleicht sehe ich auch schon den Wald vor lauter Bäumen nicht mehr.

Per AJAX übergbe ich einer PHP Datei "save.php" Daten, die dann dort weiterverarbeitet werden sollen. Etwa so:

this_action = "save.php";
 xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
 xhr.open("POST",this_action);
 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 xhr.send("a=ajax");

xhr.onreadystatechange = function() {
 if(xhr.readyState==4){
  alert("status " + xhr.status);
  alert(xhr.responseText);
 }
 }

Der Firefox 3 mag aber nicht so recht und liefert als xhr.status "0" zurück, während der IE (6+7) korrekt "200" zurückgibt.

save.php gibt momentan nur ein echo "hallo welt" aus. Das liefert nur der IE als responsetext zurück, der Firefox sagt in der Firebug Konsole 'xhr is not defined'.

Der Fiirefox auf dieser Maschine funktioniert ansonsten einwandfrei. Ich kann auch problemlos im Web alle möglichen Seiten anschauen, die Ajax nutzen. An der Installation liegt es also nicht.

Hat der FF einen Ajax Bug oder Was mache ich falsch?

Danke und Grüsse

Rhodes

  1. Hi,

    Der Firefox 3 mag aber nicht so recht und liefert als xhr.status "0" zurück, während der IE (6+7) korrekt "200" zurückgibt.

    Hast du mal probiert, den onreadystatechange-Handler vor Aufruf der send-Methode zuzuweisen?

    Was ergab dein Monitoring der ausgehenden Requests und eigehenden Responses bspw. mittels FireBug?

    xhr.send("a=ajax");

    Hm, sollte das nicht auch mit einem Fragezeichen eingeleitet werden, wie "normale" Query-Strings bei GET auch?

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“