Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
json Daten verarbeiten [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
json Daten verarbeiten


 
der_meier_hans
10-02-2009, 12:29 
 
Hallo!

Mit Ajax stelle ich ein Request, der mir auch die Paramter in Json Form zurückliefert:

json_encode($Data1); => JsonStruktur
{"io":false,"a":["dum1","dum2","dum3"],"book":
{"dum11":
{"dum12":"dum13"},"dum1":["dum1",0,"","n.a."]
,"dum2":["dum2",0,"","n.a."]}}

wie kann ich nun dieses JsonStruktur verarbeiten?

var test = eval('(' + msg + ')');

ist immer leer!

Wie spreche ich die einzelnen Parameter an?

Danke

 
wahsaga
10-02-2009, 12:43 
 
Original geschrieben von der_meier_hans
var test = eval('(' + msg + ')');

ist immer leer!
Natuerlich, weil du da an der falschen Stelle "evalst".

eval hat keinen "Rueckgabewert".

 
der_meier_hans
10-02-2009, 14:51 
 
Danke!


Falsche Stelle, in einigen dokus steht es so.

success: function(msg) {

var decoded_data = eval("(" + msg + ")");


alert(decoded_data);


}


wo ist denn die richtige Stelle?

Danke

 
Kropff
10-02-2009, 19:06 
 
schau dir mal das hier an:

msg = 'var a = 5 + 7;';
eval (msg);
alert (a);

vielleicht ist es dann klarer.

peter

 
ghostgambler
10-02-2009, 19:27 
 
Ist doch Schwachsinn Kropff...
Denn in deinem String ist die Zuweisung schon mit drin - in seinem String ist nur das Objekt - die Zuweisung FEHLT.

Übrigens sagt jedes blöde billige AJAX-Buch, dass sein Code so funktionieren sollte.


Test-Seite?

 
unset
10-02-2009, 19:47 
 
Mit dem JSON-String wird ohnehin gar nichts passieren ...

 
wahsaga
10-02-2009, 19:50 
 
Das Problem waere vermutlich geloest, wenn der JSON-Code fehlerfrei waere ...

{"io":false,"a":["dum1","dum2","dum3],"book":...
^^^

 
ghostgambler
10-02-2009, 21:25 
 
Aber Hauptsache sein eval ist falsch...


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:20 Uhr.