Redraw proběhně později než ajax „success“
- JaxP
- Člen | 62
Dobrý den,
trápím se tu s posloupností událostí při ajaxové funkci. Nejdříve chci
ajaxově načíst data do modálního okna a až poté okno zobrazit.
Př:
jquery ajax
<script>
...
$.nette.ajax({
type: ...
url: ...
data: {
...
},
success: showModal()
});
...
</script>
směruje na:
public function handle...() {
$this->template->neco = $co_chci_zobrazit;
$this->redrawControl('cileny-modal');
}
Bohužel v praxi to vypadá tak, že se modální okno otevře prázdné (bez dat) a až potom se snippet redrawne (a tím se modal schová porotže jeho výchozí nastavení je display none) s daty.
Nevíte čím to je případně jak zařídit, aby se data opravdu nejdříve načetla a „success“ proběhl až poté?
- JaxP
- Člen | 62
Paráda, děkuji.
Je zde nějaké vysvětlení proč moje verze nefunguje? Není to tak, že „redraw“ je způsoben dalším scriptem, který se provádí odděleně (nebo-li, že ajaxový požadavek je „success“ ještě dřív než JS stihne překreslit okno?)?.
Více by se mi hodilo volat success ve stejném scriptu (např. kvůli předání proměnných, které funkcemi proplouvají)
Editoval JaxP (23. 8. 2016 16:13)