[PHP, JQUERY] JSON Problem

  • Hey!

    Ich schreibe hier, weil ich verzweifelt bin :( ... Bin derzeit an nem größeren Projekt dran und habe folgendes Problem:
    Per PHP wandle ich einen Array in JSON Code um (utf8 Codierung funktioniert soweit)
    json_encode($encodedArray)

    Jetzt muss ich den Code an mein Script übergeben: Da das Script nicht per AJAX angefordert wird, sondern ein anderes Script dieses Script einbindet per $.getScript (kompliziert, aber daran lässt sich leider nix ändern .. hätte das Problem andernfalls nicht :D) speichere ich es ganz einfach in einen Div Block ab.
    Per jquery hole ich es dann durch .text() raus und parse es.

    So ... funktioniert aber leider nicht im Internet Explorer, da er ein Problem mit der $.parseJSON Funktion hat. Habe die Exception gefangen und ausgegeben - anscheinend mag der IE den JSON Code nicht (invalid JSON)

    Hab verschiedene Dinge ausprobiert, aber nix hat funktioniert.

    Die große Frage ist: Gibt es eine Methode JSON Code von Server zu Client zu übertragen, ohne eine AJAX Request (sodass es selbstverständlich in allen Browsern funkt)?

    EVC Tutor

    Einmal editiert, zuletzt von Tuxa (7. August 2011 um 01:48)

  • weiß nicht ob ich dein problem richtig verstanden habe, aber warum schreibst dus nicht einfach in ein
    <script>
    var myData = ..
    </script>

    und greifst in deinem js code auf myData zu?


    aber vermutlich ist einfach dein json wirklich invalid :) single- statt double-quotes? keys nicht in double-quotes? => http://jsonlint.com/

  • Das Problem ist, dass ich das Script nachlade ($.getScript). Leider kann ich damit nicht auf andere Variablen bzw Funktionen zugreifen - gäbs dafür ne Alternative (hab auch lange danach gesucht, da ich so ein klein wenig Resonanz habe :/ ) würde sich deine Lösung vllt anbieten.

    Das Problem ist einfach, dass der Internet Explorer den JSON Code im Div nicht richtig interpretiert.

    EVC Tutor

  • Okay habs jetzt gelöst (vllt hilfts ja wem, der durch Google hierher kommt):

    Ich hatte in einem Array Element Tags drin - mit denen hatte der IE Probleme.
    Bei json_encode musste ich den 2. Parameter JSON_HEX_TAG setzen, was auch auf dem localhost wunderbar funktionierte - auf dem Webserver leider nicht, da dieser erst auf Version 5.2.14 war, die Option des 2. Parameters erst ab 5.3.0 hinzugefügt wurde.
    Lösung dieses Problem war dann ein replacen der Tags per string_replace ;)

    EVC Tutor

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!