JSON Problem im IE ..
SteffenR
- javascript
Ich habe einen JSON String (http://www.port11.de/jsonstring.js), den ich über Javascript auslesen möchte - testweise wollte ich mir vom Element die Typbox ausgeben lassen - dabei greife ich auf das Unterelement seite 2 zu - soweit kein Problem im Firefox.
http://www.port11.de/test.html
Der IE liest auch alle Werte von Typbox aus - nur bricht er nach dem letzten Wert mit der Fehlermeldung "'typbox' ist Null oder kein Objekt" ab..
Der Firefox / Opera laufen ohne Probleme durch..
Kann sich dieses Verhalten jemand erklären ?
Ich nutze zur Verarbeitung des Strings das Prototype Framework.
Vielen Dank für eure Hilfe,
MfG
SteffenR
Ich habe einen JSON String (http://www.port11.de/jsonstring.js), den ich über Javascript auslesen möchte - testweise wollte ich mir vom Element die Typbox ausgeben lassen - dabei greife ich auf das Unterelement seite 2 zu - soweit kein Problem im Firefox.
Der IE hat damit Probleme, wenn in einer Liste ein abschliessendes Komma vorhanden ist ohne ein darauffolgendes Element. Mit was erzeugst du diesen String?
Struppi.
Die Liste erzeuge ich über ein PHP Skript, welches via Ajax.Request aufgerufen wird. Dann werd ich dieses Skript noch einmal entsprechend anpassen müssen, um den Fehler zu beheben - danke für den Tip !..
Gruss,
Steffen
Ich habe einen JSON String (http://www.port11.de/jsonstring.js), den ich über Javascript auslesen möchte - testweise wollte ich mir vom Element die Typbox ausgeben lassen - dabei greife ich auf das Unterelement seite 2 zu - soweit kein Problem im Firefox.
Der IE hat damit Probleme, wenn in einer Liste ein abschliessendes Komma vorhanden ist ohne ein darauffolgendes Element. Mit was erzeugst du diesen String?
Struppi.
Hallo,
var jsonDesign = eval(objj);
Warum machst du das? objj ist zu dem Zeitpunkt schon ein Object, weil der Code bereits interpretiert wurde.
var jsonDesign = objj;
Warum es nicht funktioniert:
["1", "2", "3", ]
erzeut im IE einen Array mit den vier Elementen 1, 2, 3, undefined.
Du musst jeweils dieses Komma am Ende weglassen, sonst bricht das Script ab, weil undefined keine Eigenschaften hat.
Du kannst natürlich auch einfach in der each-Schleife abfragen, ob das übergebene Array-Element nicht den Typ undefined hat.
Mathias