[addon jquery-ajax] Ajax s jQuery
- David Grudl
- Nette Core | 8227
Diskuse ke stránce Ajax s jQuery
Pro Honzu M.
Říkal jsem si, jestli by nebylo fajn trošku upravit jquery.nette.js.
Konkrétně „zredukovat jmenný prostor“, tj. místo dvou metod dát do
jquery jen nette
a teprve do ní další metody. A dále, čistě
kvůli srozumitelnosti, změnit proměnnou data
na
payload
– začátečníkům bude hned patrné, že to co dají
do $presenter->payload
dostanou v
callback(payload)
.
- Honza Marek
- Člen | 1664
S payloadem nemám problém, to je jen název lokální proměnné. Zredukování jmenného prostoru ještě pokoumám, musí třeba pořád jít snadno přepsat metoda updateSnippet. To bych řekl, že jde, ale ještě si to vyzkouším ;)
- David Grudl
- Nette Core | 8227
Super!
Ještě jedna věc, na kterou jsem předtím zapomněl
Lepší než
$("a.ajax").live("click", function () {
$.get(this.href);
return false;
});
by bylo
$("a.ajax").live("click", function(event) {
event.preventDefault();
$.get(this.href);
});
Důvod je ten, že return false
navíc znemožní vykonání
dalších handlerů, které lze na událost připojit.
- Honza Kuchař
- Člen | 1662
Mám jedno takové upozornění, pokud budete používat tenhle plugin, tak u všech požadavků se očekává, že se přes AJAX bude přenášet JSON. Tzn. pokud budete používat jQueryUI Tabs, tak vám to v AJAX režimu nepojede. Proto je potřeba změnit datový typ přímo v tabech. To se provede následovně:
$('.selector').tabs({ ajaxOptions: { dataType: 'html' } });
Už to tu někde zaznělo, ale řešení se tu myslím nikde neobjevilo. Něž jsem na to přišel, tak mi to chvíli trvalo, proto to sem píšu.