AJAX překreslení jenom pokud jsou data
- Hadi.k
- Člen | 12
Je nějáká možnost, když po zavolání AJAXU
{snippet obsah}
{include obsah.latte}
{/snippet}
<a href="refresh! {$count}" class="ajax">Link</a>
se překreslí snippet jenom pokud je co prekreslovat ? Jde o to ze si posilam zpet pocet prispevku ktere se zobrazuji, pak si se podivam do dtb zda se neco zmenilo a pokud ano prekreslim tu stranku, kde teda budou videt i nové data, ale kdyz nebudou tak to chci nechat tak jak to je, a neposilat zadna data. Prostě aby v tom snippetu zutstlao to co tam bylo pred tim.
Ta metoda vypada takto:
public function handleRefreshChat($count) {
$countDb = $this->model->getCount();
if ($count != $countDb){
$this->obsah = $this->model->getNews();
if ($this->isAjax()) {
$this->invalidateControl("obsah");
}
}
}
Problem je v tom ze kdyz se nesplni podminka, a nezavola se ta invalidace obsahu, tak se posle cela stranka nove vygenerovana. (bez refreshe), avsak to je horsi nez kdybych to nekontroloval, protoze timhle chci zabranit zbytecnemu trafficu.
Ano vím o WebSocketech, ale v mojí situaci použití není možné.
Všem děkuji za návrhy a řešení
- japlavaren
- Člen | 404
co ak by si ukoncil presenter $this->terminaite(); len strielam, neviem ako na to zareaguje ajax