Autor | Zpráva | ||
---|---|---|---|
4ever Profil |
#1 · Zasláno: 18. 10. 2011, 08:50:33 · Upravil/a: 4ever
Hledal jsem na toto téma a nápovědy se týkají spíš AJAXU. Ale jde mi o převod stringu v javascriptu na pole, bez serveru.
Zkoušel jsem to bez addslashes a dát přímo eval(). Ovšem dostávám hlášku unterminated string literal [Break On This Error] var names='"Array"; $str .= "<script language=javascript>var names='".json_encode( addslashes($data) )."; names = Query.parseJSON(names); // names = eval('(' + names + ')'); '</script>"; Pole v php bylo vícerozměrné a obsahovalo diakritiku. Po převodu na string měl javascript problém s dvojíma uvozovkama snad nebyly escapovány. Ale prostě už nevím jak dál, tak prosím o pomoc. |
||
_es Profil |
#2 · Zasláno: 18. 10. 2011, 09:05:20 · Upravil/a: _es
4ever:
JSON sa volá preto JSON (nájdi si definíciu), že netreba nič prevádzať, ide o priamy syntakticky správny zápis hodnôt v JS. Teda by mal byť výstupný reťazec asi takto: '<script>var names='.json_encode($data).'</script>' |
||
Chamurappi Profil |
#3 · Zasláno: 18. 10. 2011, 09:05:45
Reaguji na 4evera:
„Ovšem dostávám hlášku unterminated string literal“ Tak by ses měl samozřejmě podívat, jestli máš uzavřené všechny řetězce… přeci ti nebudeme hledat syntaktické chyby. Ta chyba praští do očí přímo v tom řádku, na kterém ti jí hlásí. |
||
4ever Profil |
#4 · Zasláno: 18. 10. 2011, 09:14:30
_es:
Aha, tak to jsem netušil, že je to až tak jednoduché. Dík |
||
Časová prodleva: 13 let
|
0