Ajax Problem! IE funzy, FireFox mag nicht!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ajax Problem! IE funzy, FireFox mag nicht!

    Hi Leute,

    ich habe hier ein kleines Problemchen. Mein Ajax will nicht so wie ich!
    Mit dem IE funzt es wunderbar, aber mit dem FF überhaupt nicht.
    zur info: das php das ich aufrufe bringt mit der 'echo'-methode zurück, also kein xml! Sollte aber trotzdem kein problem sein.

    Hier ist mein Code.
    Den Alerter "biste da?" kriege ich nie zu sehen...

    var response = "blabla" ;

    function ServerRequest(DBID)
    {
    sndReq(DBID);
    }

    function sndReq(DBID) {
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
    http = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
    http = new XMLHttpRequest();
    http.overrideMimeType('text/xml');

    }
    http.open('GET', 'http://localhost/fillme.php?action=' + DBID, false);

    alert(http.readyState );
    http.onreadystatechange = handleResponse;
    alert(http.readyState );
    http.send(null);
    }

    function handleResponse()
    {
    alert("biste da?");
    if(http.readyState == 4)
    {
    if (http.status == 200)
    {
    response = http.responseText;
    if(response.indexOf('|' != -1))
    {
    response = response.split("|||");
    response = response[1];
    }
    }
    }
    }


    Vielen DAnk für Hilfe!
    PL

  • #2
    inzwischen habe ich schon mal gefunden WO das Problem liegt:

    FireFox mag nicht wenn ich den 'asyncron' status auf 'false' setze

    also anstelle von
    http.open("GET", destURL, true);
    verwende ich
    http.open("GET", destURL, false);

    aber ich BRAUCHE dieses Feature!
    Was kann ich tun?!?

    Kommentar


    • #3
      Re: Ajax Problem! IE funzy, FireFox mag nicht!

      Wenn du asynchron auf false setzt, also synchron arbeitest, wartet dein Script nach dem Absenden des Requests mit der weiteren Verarbeitung bis dieser Request vollständig ausgeführt worden ist - mit onreadystatechange zu arbeiten, ergibt dabei also wenig Sinn.
      Du brauchst dann eigentlich gar keine Handler-Funktion, sondern kannst direkt nach dem Absenden des Requests deine Abfrage auf readystate==4 und status==200 programmieren.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Stimmt, da hast du recht!
        Allerdings müsste es doch trotzdem funktionieren... oder?

        Kommentar

        Lädt...
        X