Autor Zpráva
4ever
Profil
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
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
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
_es:
Aha, tak to jsem netušil, že je to až tak jednoduché. Dík

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0