vojtech-dobes/history.nette.ajax.js
- Šaman
- Člen | 2659
Ahoj, mám několik otázek a postřehů k tomuto rozšíření, tedy hlavně na @vojtech.dobes
- Cachování v prohlížeči vyžaduje aktuální nette.ajax.js a aktuální (@dev) history.ajax.js. Tagované verze některé popisované funkce nemají.
- Jak se používá
data-history-nocache
? Nikde jsem o tom nenašel zmínku, jen v commitu. - Jde nějak vynutit skutečný redirect? Konkrétně přihlašovací formulář chci ajaxově odesílat kvůli validaci, ale po úspěšném přihlášení chci provést pravý redirect.
- Tohle nesouvisí přímo s historií, ale s nette.ajax.js: Když mám třeba v layoutu snippet content okolo celé šablony a pak nějaký malý snippet uvnitř a ten chci překreslit, vrací se mi v odpovědi i celý content. Asi proto, že je-li nevalidní jeden jeho snippet, je nevalidní taky. Dá se tomu nějak předejít? Nebo musím mít jen malé snippety a žádný celkový? Jaké je vlastně best practise při vytváření snippetů?
- Je i s rozšířením history doporučováno psát bloky
if($this->isAjax)…
, nebo je lepší rovnou redirectovat, jako v aplikaci bez AJAXu?
V každém případě díky za oba doplňky, nekodér jako já by se bez
nich co se týče ajaxu vůbec nechytal.
Jo, a ještě jsem si všiml, že repozitář history neobsahuje autora a
licenci, dokonce ani samotný JS soubor.
Editoval Šaman (25. 7. 2014 4:31)
- jiri.pudil
- Nette Blogger | 1029
Ad 2. Ten atribut se nastavuje u snippetu
(<div n:snippet="foo" data-history-nocache></div>
) a
zabraňuje tomu, aby se obsah toho snippetu cachoval. Jeden možný use case je
popsaný v pull
requestu
Ad 3. Můžeš pro ten formulář vypnout history rozšíření (přes
data-ajax-off
), ale obávám se, že kvůli tomutok
řádku si budeš muset přesměrování obstarat sám.
- Šaman
- Člen | 2659
2. Takhle jsem to použít zkoušel, i když na seznamu <ul>, ale
kešování to nezabránilo. I když to možná souvisí s tím, že šlo
o vnořený snippet, takže je možné, že se sice nekešoval, ale celý
content ano. Mě pomohlo jen celkové vypnutí kešování.
3. Díky, přihlašování holt nebude ajaxové.