ajax und firefox

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

  • ajax und firefox

    Hi,

    Eigentlich sollte ich nicht ajax, sondern ajap sagen.
    Ich sende mit einem XMLHTTP-Objekt, also
    PHP-Code:
        xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        
    //oder
        
    xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP"); 
    ein GET wie folgt
    PHP-Code:
    if (xmlHttp) {
        
    xmlHttp.open('GET''datei.php?suche=selbstverstaendlich'true);
        
    xmlHttp.onreadystatechange = function () {
            if(
    xmlHttp.readyState == 4) {
                
    //Hier die Jobs erledigen
            
    }
        }
        
    xmlHttp.send(null);

    Das funktioniert wunderbar. Bei IE wird alles schön abgearbeitet.
    Bei Firefox gibt es ein Problem. Wenn ich eine GET-Abfrage mache schaltet [COLOR=blue]xmlHttp.readyState[/COLOR] nicht auf [COLOR=blue]4[/COLOR] , wie oben verlangt.
    Erst wenn ich die selbe GET-Abfrage wiederhole wird alles erledigt.
    Nur manchmal reagiert auch der Firefox sofort.
    Woran kann das liegen?

  • #2
    Re: ajax und firefox

    Na die Frage ist ja wohl mal sowas von clientseitig ... *verschieb*


    Du willst jetzt aber nicht behaupten, im Firefox würdest du das XMLHTTPRequest-Objekt über ActiveX erstellen ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: ajax und firefox

      Original geschrieben von wahsaga
      Du willst jetzt aber nicht behaupten, im Firefox würdest du das XMLHTTPRequest-Objekt über ActiveX erstellen ...?
      Nein
      xmlHttp = new XMLHttpRequest();

      Kommentar


      • #4
        Re: Re: Re: ajax und firefox

        Lass dir mal in der Handlerfunktion für alle readyStates, die er durchläuft, eine Kontrollmeldung ausgeben.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          http://developer.apple.com/internet/...mlhttpreq.html


          PHP-Code:
          var req false;
                  
          if(
          window.XMLHttpRequest) {
              try {
                  
          req = new XMLHttpRequest();
              } catch(
          e) {
                  
          req false;
              }
          } else if(
          window.ActiveXObject) {
              try {
                  
          req = new ActiveXObject("Msxml2.XMLHTTP");
              } catch(
          e) {
                  try {
                      
          req = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch(
          e) {
                      
          req false;
                  }
              }
          }

          if(
          req){
            
          alert('Jipieee, ich kann XMLHTTPRequests machen!');
          }else{
            
          alert('Misst, klappt nicht!!!');

          EDIT:
          Achso, als Tipp - installier im Firefox eine Erweiterung namens FireBug - die kann die laufenden XMLHTTPRequest live anzeigen.


          EDIT:
          #2
          Und nochwas - der IE7 hat das XMLHTTPRequest Objekt auch nativ dabei und braucht dafür kein activeX mehr.
          http://www.golem.de/showhigh2.php?fi...2912.html&wort[]=ajax

          Zuletzt geändert von prego; 06.04.2006, 15:27.

          Kommentar


          • #6
            Re: Re: Re: Re: ajax und firefox

            Original geschrieben von wahsaga
            Lass dir mal in der Handlerfunktion für alle readyStates, die er durchläuft, eine Kontrollmeldung ausgeben.
            Hab ich schon gemacht. Bei Firefox wird wenns schief geht hintereinander
            readyState = 1
            readyState = 2
            readyState = 3
            readyState = 3
            Hier steht er dann.

            Wenns gut geht und,oder beim IE geht er immer nach 3 auf 4. Das angeforderte Dokument kann also gelesen werden.

            Kommentar

            Lädt...
            X