IE6 Problem bei Ajax-Request

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

  • IE6 Problem bei Ajax-Request

    folgende situation. auf einem webspace verweisen mehrere unterschiedliche domains und subdomains. nun rufe ich erstmalig(!) eine seite auf. dort soll bei einem onchange ein ajax-request abgesetzt werden. im ie6 kommt dann die meldung "zugriff verweigert". wird die selbe seite neu geladen (per location.reload oder F5) funktioniert die programmierung dagegen reibungslos.

    ich hatte das problem schon mal in einem anderem zusammenhang. da hatte ein
    PHP-Code:
    document.domain document.domain.substring(document.domain.indexOf('.') + 1); 
    geholfen. (arbeite hier mit subdomains).

    leider gibt es zu diesem thema nur eine maschinelle übersetzung von microsoft, die zwar erheiternd, aber nicht informativ ist.

    ich habe zu testzwecken den selben code auf meinem webspace aufgespielt. dort liegt nur eine domain. und da funktionierte es wunderbar. habe dann noch zwei subdomains eingerichtet und noch mal getestet. und wieder alles feini feini. es liegt also definitiv nicht am code.

    aus irgendeinem grund scheint der ie6 ohne eine wie auch immer geartete überprüfung den request zu verweigern. dies geschieht offenbar erst nach einem reload. kennt irgend jemand von euch das problem oder hat ein paar tipps für mich?

    ach ja, header werden vom webserver korrekt gesendet. auch wenn ich in php den manuell setzte, so bringt das im ie6 garnichts.

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

  • #2
    Ich kann dein Problem nicht ganz nachvollziehen. Zeig doch mal Beispielcode, damit wir es selbst probieren und fluchen können.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      ich kann dir mal zwei links geben, damit du das siehst. zuerst die funktionierende variante:
      http://www.peterkropff.de/misc/eldev...nd_buchen.html

      und hier kommt ein object-error
      http://pkeldev.test-snowtrex.de/elde...nd_buchen.html

      vorgehensweise:
      ie6 öffnen, ersten link eingeben, und bei irgendeinem select feld den wert ändern. da wird ein ajax-request abgesetzt. solange der läuft, sind die select-felder disabled. (dauert drei sekunden, hab zu testzwecken ein sleep im php-code eingebaut).

      danach browser wieder schließen, zweiten link aufrufen, und wie gehabt vorgehen. dann bekommt ihr im ie6 ein object-error (steht hier für zugriff verweigert). dann mal kräftig auf F5 hauen und erneut probieren. dann klappt es.

      ich habe den code mal angehängt, damit ihr bei euch testen könnt. wie gesagt, das problem taucht nur auf webspace auf, wo mehrere domains oder subdomains auf ein verzeichnis verweisen.

      ach ja, die kaputten zeichen könnt ihr beim zweiten link ignorieren.

      gruß
      peter
      Angehängte Dateien
      Zuletzt geändert von Kropff; 27.03.2008, 10:57.
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        OffTopic:
        Ich glaube eure Entwicklungsumgebungen sind von außen nicht erreichbar ...


        Zum Problem werd ich mich wohl wenn überhaupt erst später äußern. Probiers dann mal aus
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          hab den zweiten link geändert. der müßte erreichbar sein.
          EDIT:
          hab was weiteres herausgefunden. das phänomen tritt nur auf, wenn man als startseite im ie6 about:blank gesetzt hat!

          kranke sch***e


          gruß
          peter
          Zuletzt geändert von Kropff; 27.03.2008, 11:40.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Hmm - kann dir nicht direkt helfen - aber installier dir doch mal nen HttpHead-Monitor (z.B. den hier ) - solche Mysterien beim IE bin ich schon öfter mit dem Tool auf die Spur gekommen.
            Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
            Schön - etwas Geschichte kann ja nicht schaden.
            Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

            Kommentar


            • #7
              nützliches programm. danke. nur leider bringt mir das bei meinem problem garnichts. die header sind vor und nach dem reload absolut identisch. beim ersten mal kommt die fehlermeldung, beim zweiten mal nicht.

              erstaunlicherweise tritt das problem nur auf, wenn ich als startseite about:blank habe und dann direkt zum link gehe. wenn ich vorher auf irgendeiner anderen seite war, gibt es keine problem. selbst wenn ich z.b. google als startseite habe, danach about:blank eintippe und anschließend zum link gehe, läuft es reibungslos. und es müssen mehrere domains auf einen webspaces verweisen.



              ich bin mit meinem latein am ende. weiss nur noch nicht genau, wie ich dafür ein fallback einrichte.

              gruß
              peter
              Zuletzt geändert von Kropff; 27.03.2008, 13:20.
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                (Und auch nur im IE6?)
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar


                • #9
                  wie gesagt, das problem taucht nur auf webspace auf, wo mehrere domains oder subdomains auf ein verzeichnis verweisen.
                  Und du bist sicher, daß die Domains echte Virtual Sites sind und die Anfragen nicht per Header-Redirect umgeschrieben werden o.ä.?

                  Hilft als Workaround ein location.reload() beim IE6?

                  Kommentar


                  • #10
                    Original geschrieben von unset
                    (Und auch nur im IE6?)
                    jepp!
                    Original geschrieben von pekka
                    Und du bist sicher, daß die Domains echte Virtual Sites sind und die Anfragen nicht per Header-Redirect umgeschrieben werden o.ä.?
                    da muss ich mal nachfragen.
                    EDIT:
                    so habe mal nachgefragt, es gibt kein redirect, alle domains sind virtual hosts

                    Original geschrieben von pekka
                    Hilft als Workaround ein location.reload() beim IE6?
                    ja das hilft, ist aber ziemlich blöde, da klickt einer auf ein select-feld und die seite läd sich neu. wird mir aber wohl nichts anderes übrig bleiben. mit einem entsprechenden hinweis vielleicht.

                    gruß
                    peter

                    Zuletzt geändert von Kropff; 27.03.2008, 13:44.
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      Also bei mir funktionieren übrigens beide Urls von dir im IE6 (hab auch about:blank eingestellt).

                      Mal was anderes:
                      Wenn die Fehlermeldung bei dir kommt - macht er da was im Hintergrund? Sprich: siehst du die Request-Response-Header in dem Header-Monitor?

                      Ich hatte mal ein ähnlich nettes Phänomen beim IE6 mit nem Server der mit Keep-Alive arbeitet wenn Xml oder Xhtml ausgeworfen wird - da kam einfach -> die Seite kann nicht angezeigt werden.

                      Häng bei deinem getinfos.php mal ein

                      PHP-Code:
                      header("Content-Type: text/html; charset=UTF-8"false); 
                      bzw. bei dir

                      PHP-Code:
                      header("Content-Type: text/xml; charset=UTF-8"false); 
                      rein - hat bei mir Wunder gewirkt - frag nicht warum

                      Probieren kannst du es ja mal...
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        Also bei mir funktionieren übrigens beide Urls von dir im IE6 (hab auch about :blank eingestellt).
                        auch folgende reihenfolge beachtet?
                        1. about:blank als startseite einstellen
                        2. browser schließen!
                        3. browser neu aufrufen, about:blank steht in adresszeile
                        4. zweiten link (pkeldev...) eingeben und loslegen
                        5. browser schließen!
                        6. browser öffnen
                        7. ersten link eingeben (peterkropff.de) und loslegen

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

                        Kommentar


                        • #13
                          Original geschrieben von Kropff
                          auch folgende reihenfolge beachtet?
                          1. about:blank als startseite einstellen
                          2. browser schließen!
                          3. browser neu aufrufen, about:blank steht in adresszeile
                          4. zweiten link (pkeldev...) eingeben und loslegen
                          5. browser schließen!
                          6. browser öffnen
                          7. ersten link eingeben (peterkropff.de) und loslegen

                          gruß
                          peter
                          Jup - eben nochmal alles in der Reihenfolge gemacht (und umgekehrt auch) - funktioniert.

                          Hast du wie gesagt schon versucht die Charset-Angabe beim Content-Type noch mitzugeben?

                          Wie sind bei dir die Einstellungen im IE für HTTP 1.1? (unter Extras->Internetoptionen->Erweitert - da dann ca. in der Mitte der langen Liste)
                          Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                          Schön - etwas Geschichte kann ja nicht schaden.
                          Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                          Kommentar


                          • #14
                            Hmm. Wenn gar nichts hilft, nochmal eine exotische Workaround-Idee: Hilft es, wenn dieselbe Seite, in sich selbst in einem unsichtbaren Iframe eingebettet, via reload() neu geladen wird? Sehr weit hergeholt aber wer weiß.

                            Kommentar


                            • #15
                              Hast du wie gesagt schon versucht die Charset-Angabe beim Content-Type noch mitzugeben?
                              selbes resultat.
                              Wie sind bei dir die Einstellungen im IE für HTTP 1.1? (unter Extras->Internetoptionen->Erweitert - da dann ca. in der Mitte der langen Liste)
                              beide optionen markiert.

                              was mir noch eingefallen ist, ich benutze den multiple ie, also ie 6 und 7. wenn der 7 parallel offen ist, macht auch der ie6 keine zicken mehr. ich glaube mittlerweile, dass es daran liegen könnte. ich habe jetzt für den fall, dass der zugriff verweigert wird, einen reload eingebaut. da aber die benötigte kombination für dieses verhalten wohl sehr unwahrscheinlich ist, lass ich es solange, bis sich einer beschwert.

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

                              Kommentar

                              Lädt...
                              X