json & IE
Marc
- javascript
Hallo,
ich versuche mich gerade an json und das funktioniert alles so weit ganz gut, nur im IE geht es nicht. Hier mal mein Skript (Kann man so, wie es ist per Copy & Paste kopieren):
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
function loadJson()
{
var str = '{';
str += '"albums":';
str += '[';
str += '{';
str += '"id":"57",';
str += '"name":"Irgendwas",';
str += '}';
str += ']';
str += '}';
//jsObj = str.parseJSON();
jsObj = eval('(' + str + ')');
document.getElementById('inhalt').innerHTML = jsObj.albums[0].id;
}
</script>
</head>
<body>
<div id="inhalt" onclick="loadJson();">Klick mich</div>
</body>
</html>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Das Problem des IE muss in Zeile 23 liegen (eval)...
function loadJson()
{
var str = '{';
str += '"albums":';
str += '[';
str += '{';
str += '"id":"57",';
str += '"name":"Irgendwas",';
str += '}';
str += ']';
str += '}';
Das kann man auch einfacher schreiben:
var str = '{'
Struppi.
Auf so was muss man mal kommen...
Vielen Dank!
Auf so was muss man mal kommen...
Wärst du, wenn du deinen String nicht mit eval, sondern einfach mal direkt zum laufen zu kriegen versucht hättest. Solange der Code überschaubar ist bei eval und dem IE der beste Weg.
Struppi.
Auf so was muss man mal kommen...
Wärst du, wenn du deinen String nicht mit eval, sondern einfach mal direkt zum laufen zu kriegen versucht hättest. Solange der Code überschaubar ist bei eval und dem IE der beste Weg.
Struppi.
Was meinst Du mit "direkt zum laufen zu kriegen"?
Was meinst Du mit "direkt zum laufen zu kriegen"?
Einfach auf eval verzichten und den String unmittelbar ausführen, dann erhälst du eine etwas bessere Fehlermeldung.
Struppi.