Volání ajaxu po zavření modalu
- jedlicka
- Člen | 70
Ahoj,
řeším takový problém.
Mám tabulku, která zobrazuje nějaký seznam produktů. Když kliknu na daný produkt, tak se otevře modal okno, kde je možné ve formu změnit data produktu. To je OK. A teď bych potřeboval, aby se po zavření toho modalu načetly pomocí ajaxu nová data a překreslila se tabulka produktů, tedy bez toho aniž bych musel dělat refresh celé stránky (např. redirect).
V šabloně mám:
{block content}
<div id="modal">
...
</div>
...
<div n:snippet="products">
<table>
...
</table>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("#modal").on("hide.bs.modal", function () {
$.nette.ajax({
url: {link refresh!}
});
});
});
</script>
{/block}
V presenteru mám:
public function handleRefresh() {
if ($this->isAjax()) {
$products = $this->database->table(...);
$this->template->products = $products;
$this->redrawControl('products');
}
}
Handle se zavolá, ale vyhodí to chybu 500. Jinde normálně volání ajax
handle používám a bez problému, ale při tom zavření modalu to hodí chybu
500. Ta chyba padne už na tom
$products = $this->database->table(...);
nebo jen
samotném $this->redrawControl('products');
Díky za každou radu.