Jak elegantně volat fci modelu z JQuery?
- pidiclovek
- Člen | 91
Ahoj,
hraji si dnes s JQuery a sortable listama a chtěl bych pomocí metody
<script>
$.post("update.php", order, function(callback){...});
</script>
odeslat seznam nového pořadí na patřičnou metodu modelu v Nette.
Otázka zní, jak elegantně volat model z Nette struktury z takovéhoto skriptu? Na modely mám modelloader, načítám je automaticky. Napadají mě samé čuňárny, jako v tomto update.php vytvořit model manuálně a zavolat nad ním patřičnou metodu…
Za náměty děkuji :)
- bojovyletoun
- Člen | 667
nerval bych tam url, $.post({link order!}
. post bude obsahovat
např pole theList a v presenteru budeš mít
function handleOrder($theList)
. Doufám, že to bude fungovat.
- pidiclovek
- Člen | 91
@bojovyletoun Díky za potvrzení správného směru, signálem to akorát zkouším, až příliš pozdě mi došlo nenačítat skript externě ale dát ho rovnou do šablony a link v něm vygenerovat… Nicméně toto funguje velice dobře :)
- Filip Procházka
- Moderator | 4668
Můžeš svůj script ještě vylepšit, pokud ho vyndáš ze šablony, odkaz zapíšeš třeba takto
<div class="sortable-list" data-ajax-sortable="{link order!}">
...
</div>
Pomocí jQuery si pak takovou informaci můžeš načíst
var url = $('sortable-list').data('ajax-sortable');
a pak použít v ajaxovém requestu
$.post(url, order, function(callback){ ... });
Výsledkem bude validní HTML5 kód a javascript bude tam kam patří, v externím souboru.