problém s nette.ajax.js – odesílání více požadavků, než je třeba
- nedik
- Člen | 9
Zdravím,
mám takový problém s tímto kodem v javascriptu:
$.nette.init(function (netteAjaxHandler) {
$(‚a.ajax‘).live(‚click‘, netteAjaxHandler);
});
Když pak na jakýkoliv a href prvek dám class=„ajax“, tak se sice ajax v pořádku provede, nicméně když kliknu na to podruhé, tak se zobrazí již dva stejné požadavky. A když klikám stále více, tak se pomalu požadavky stupňují. (sice v nette ajax je funkce, která dovolí odeslat pouze jeden požadavek, ostatní abortuje, ale i tak se mi nezdá dobré, že při 10-tém kliknutí se mi 9 požadavků abortne a ten jeden se teda provede)
- Vojtěch Dobeš
- Gold Partner | 1316
Mám jediný dotaz, proč přepisuješ defaultní ajaxizaci?
live()
je ugly a deprecated.
Jinak k zodpovězení dotazu, je to kvůli tomu, že po každém úspěšně
doběhnutém požadavku se znovu zavolá ten callback. Aby ti to fungovalo,
vypni extenzi load
:
$.nette.ext('load', false);
- Vojtěch Dobeš
- Gold Partner | 1316
To je divné, stálo by to za prozkoumání, protože obvykle s tím
problém není. Použití live()
se nedoporučuje především
z výkonnostních důvodů.