[addon jquery-ajax] Ajax s jQuery

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
David Grudl
Nette Core | 8227
+
0
-

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).

Viz http://code.google.com/…ery.nette.js

romansklenar
Člen | 655
+
0
-

Jsem pro, taky jsem si to před nějakou dobou změnil na payload.

Honza Marek
Člen | 1664
+
0
-

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 ;)

Honza Marek
Člen | 1664
+
0
-

Tak jsem to upravil podle požadavků a jako bonus zlepšil příklady.

David Grudl
Nette Core | 8227
+
0
-

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
+
0
-

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.

Mas3r
Člen | 116
+
0
-

Stejný problém, na jaký jsem narazil při použití Jquery Suggest. Taky se u něj musí přepnout na html.