Seltsames Problem mit Opera, JSON und JS Objekt

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

  • Seltsames Problem mit Opera, JSON und JS Objekt

    Hallo zusammen,
    ich habe ein sehr seltsames Problem mit dem Opera Browser.
    Und zwar geht es um folgendes:
    Wir binden in eine Webseite Dynamisch per Script Tag der sich auf eine
    php Datei bezieht Javascript ein.
    Dies funktioniert soweit auch problemlos.
    Anschließend wird von einer Klasse eine instanz erzeugt, was bis hier
    auch noch problemlos verläuft.
    Nun kommen wir zu dem eigenartigen Teil.
    Die Klasse ruft ein PHP Skript auf einer anderen Domain auf und
    bekommt von dieser PHP Datei wiederum ein JSON Objekt zurück
    geliefert.
    Mittels der Rückgabe soll dann automatisch eine Funktion der
    erstellten Klasse aufgerufen werden, z. B. obj.machwas(response).
    Hier scheitert das ganze dann. Ich bekomme an dieser Stelle dann von
    Opera gesagt das er die Klasse nicht kennt.
    Anzumerken ist hier noch das es unter FF, IE6, IE7, Safari und
    Konqueror läuft, nur nicht unter Opera.
    Hätte vielleich jemand eine Idee an was das liegen könnte?
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

  • #2
    Die Klasse ruft ein PHP Skript auf einer anderen Domain auf und bekommt von dieser PHP Datei wiederum ein JSON Objekt zurück geliefert.
    AJAX oder auch ein Skripttag? Evtl. ist der Code interessant bei dem der Fehler gemeldet wird, bzw. ein online Beispiel.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Einen Link kann ich leider nicht posten, da dies zu unserer
      Internetplattform gehört und noch nicht freigegeben wurde.
      Ajax zu nutzen ist an dieser Stelle nicht möglich, da dies Domainübergreifend geschehen muss. Es wird also ein Skript Tag dynamisch hinzugefügt.
      Die Fehlermeldungen von Opera lauten wie folgt:
      Inline script thread
      Error:

      name: TypeError

      message: Statement on line 1: Could not convert undefined or null to
      object
      Backtrace:
      Line 1 of linked script http://www.xxx.de/json.php?do=irgendwas

      obj.fnc({"status":1, "value":"irgendwas"});
      Im Prinzip wird eine Klasse instanziiert und durch das JSON Objekt eine Funktion dieser Klasse aufgerufen.
      mfg
      Günni


      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
      City-Tiger - Online durch die Straßen tigern...

      Kommentar


      • #4
        Hast du mal vor der Fehlerstelle geprüft ob das obj für Opera evtl. null ist? (Andere Browser (Firefox) melden sicher garkeine Fehler? (Fehlerkonsole?))
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          Ja habe ich, das komische dabei ist, dass er sobald der JSON Request zurück kommt das Obj null ist. Vorher wurde das Objekt aber instanziiert und tat auch etwas (zeichnete mehrere Div's die auch zu sehen waren).
          mfg
          Günni


          Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
          Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
          Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
          City-Tiger - Online durch die Straßen tigern...

          Kommentar


          • #6
            Hast du mal das ausgeben was ankommt? Vielleicht wird es überschrieben?
            Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

            Kommentar


            • #7
              Nein, das Objekt wird nicht überschrieben...
              Wenn ich die Abfrage zu einem späteren Zeitpunkt auf das Objekt mache, ist es da...
              Die Ausgabe die vom JSON Objekt zurück kommt sieht wie folgt aus:
              obj.fnc({"status":1, "value":"irgendwas"});
              mfg
              Günni


              Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
              Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
              Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
              City-Tiger - Online durch die Straßen tigern...

              Kommentar

              Lädt...
              X