Odeslání JSONu z javascriptu do aplikace
- cmelis
- Člen | 26
Zdravím,
potřebuji odeslat JSON object z javascriptu do obslužné metody signálu a stále se mi to nedaří.
<script type="text/javascript">
var JSONstring =
{
...
};
</script>
a odeslání přes get:
<script type="text/javascript">
$.get({link metoda!})
</script>
Kam mám umístit parametr JSONstring tak aby mi do metody handleMetoda($param) přišel jako parametr JSON ?
Tohle samozřejmě nefunguje:
<script type="text/javascript">
$.get({link metoda!, JSONstring})
</script>
Zkoušel jsem to všechno možné ( například pomocí metody getJSON ), i nemožné ale nepodařilo se.
V javascriptu jsem zatím spíše začátečník tak předem děkuji za jakoukoliv radu, či nasměrování blíže k cíli :)
- studna
- Člen | 181
{link xxx, promennaJS}
Ti nikdy nebude fungovat. Musis to zapsat nejak jako:
<script>
$.post( {link xxx}, JSONstring );
</script>
⇒ routa pro xxx bude jen obycejna routa na nejaky view/handle, bez parametru (nebo s volitelnym parametrem), jinak bys misto linku dostal #, cimz Nette reaguje na to, ze (napr.) chybi parametr pri skladani linku.
Editoval studna (27. 2. 2011 14:32)
- Chbox
- Člen | 125
mělo by fungovat:
<script type="text/javascript">
$.post('?do=metoda', JSONstring)
</script>
jinak pokud to máš přímo v šabloně a netaháš to externě, kde ti nebude fungovat Latte, tak:
<script type="text/javascript">
$.post( {link metoda!}, JSONstring)
</script>
pozor na escapování pro JSONstring, buď použij 2× {{ nebo mezeru mezi { a daty
Editoval Chbox (27. 2. 2011 14:46)