Problem mit AJAX unter JQuery im IE6/7

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

  • Problem mit AJAX unter JQuery im IE6/7

    Hiho,

    Zur Zeit verwende ich JQuery um einige Problemstellungen zu lösen. Gerade versuche ich für die Usability einige Ajaxfunktionen einzubauen.

    Dafür verwendet ich JQuery. Nun habe ich schon einiges an Ajax eingebaut und im FF und Opera funktioniert auch alles. Leider musste ich jetzt feststellen, dass der IE6/7 rummzickt.

    Zum Testen von Ajax im IE habe ich mal eine Test-HTMLdatei erstellt. Der Text sieht folgendermaßen aus:

    $(document).ready(function(){
    $.ajax({
    type: "POST",
    url: "ajax.php",
    data: {"action": "test"},
    success: function(html){
    alert( "Data Saved: " + html);
    }
    });

    $.ajax({
    type: "POST",
    url: "ajax.php",
    data:"action=test",
    success: function(html){
    alert( "Data Saved: " + html);
    }
    });
    });

    Die PHP-Datei ist denkbar einfach gehalten:



    PHP-Code:
    <?php  
    echo "Datei wird aufgerufen \n";
      
    if (
    $_POST["action"]=="test")  {
         
    echo 
    "Action=Test wird aufgerufen"

    }  


    ?>
    Die Ajaxzeile teste ich 2x weil jemand in einem anderen Forum mir geraten hat data: {"action": "test"} statt data: "action=test" zu verwenden.

    Beide Schreibweisen funktionieren im FF und OP, keine im IE <.<

    Zu testen auf http://www.myvoo.de

    Ergänzung:
    Der IE sagt es gibt einen Fehler in Zeile 2688 "Automatisierungsserver kann Objekt nicht erstellen", da dieser Fehler sicher in JQuery ist habe ich dort nachgesehen. 2688 ist leer, jedoch ist 2687:

    // Create the request object; Microsoft failed to properly
    // implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available
    var xhr = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
    Zuletzt geändert von norodon; 26.07.2008, 12:27.

  • #2
    Also im IE7 erscheint bei mir der selbe alert() wie unter FX? Jeweils zwei mal.

    Wie sieht es mit deinen ActiveX Einstellungen aus?

    Kommentar


    • #3
      Hab die EInstellungen auf "Sehr niedrig" gestellt und auch versucht Benutzerdefiniert alles zu erlauben.

      Edit: Hab jetzt wirklich alles erlaubt und jetzt funktioniert es.

      Ist nur die Frage, inwiefern ich vorraussetzen kann, dass viele Internet Explorer Nutzer ähnlich niedrige Sicherheitseinstellungen haben. :-\
      Zuletzt geändert von norodon; 26.07.2008, 13:15.

      Kommentar


      • #4
        Ok, ich habe es jetzt zwar hinbekommen, dass die PHP Datei erfolgreich ausgeführt wird, sobald jedoch in der PHP File irgendwo ein "echo" vorkommt, demnach ein Rückgabewert erfolgt, tritt ein Fehler auf.

        Der Ajaxaufruf sieht folgendermaßen aus:


        $.ajax({
        type: "POST",
        url: "ajax.php",
        data: { "action": "checkpic"},
        error: function(e){
        alert("An Error has occured" + e);
        },
        success: function(html){
        alert("test" +html);
        $('#picturediv').empty();
        $("#picturediv").append(html);
        }
        });

        Dummerweise bekomme ich als Fehlermeldung nur ein "An Error has occured", das hilft leider nicht soviel. In der Ajax-Datei steht ein einfaches "echo "test123";" und sobald das vorkommt entsteht ein fehler.

        Interessanterweise funktioniert der fast gleiche Aufruf auf http://myvoo.de wunderbar.

        Hat jemand für das Verhalten evtl. eine Erklärung?

        Grüße
        Noro

        EDIT:

        Ok, es wird interessant. Ich habe in meiner httpd.conf meines Apaches die Zeile "AddDefaultCharset utf8" entfernt und jetzt funktioniert alles. Ich habe KEINE Erklärung wieso es deswegen nicht funktioniert hat. Weiß jemand weiter?
        Zuletzt geändert von norodon; 27.07.2008, 02:47.

        Kommentar


        • #5
          vorher einen header mit charset senden?

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Gesagt, getan.

            Nen ordentlichen Header in der HTML datei war sowieso gegeben. Zusätzlich habe ich jetzt einen ordentlichen Header in der PHP datei verwendet.
            Das klappt jedoch nicht.

            Kommentar


            • #7
              Zusätzlich habe ich jetzt einen ordentlichen Header in der PHP datei verwendet.
              und wie? eigentlich sollte das problem damit beseitigt werden.

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X