RedrawControl snippet po ajaxu s POST

jedlicka
Člen | 61
+
0
-

Dobrý den,

měl bych dotaz ohledně překreslení snippetu.

V šabloně mám:

{snippet wizard-data-finish}
  vykresleni $overviewCustomers
{/snippet}

var formData = new FormData();
formData.append('informations', JSON.stringify(informations));
$.ajax({
   url: "?do=overviewCustomersExcel",
   type: 'POST',
   data: formData,
   cache: false,
   processData: false,
   contentType: false,
   success: function (data) {
   }
});

V presenteru mám:

public function handleOverviewCustomersExcel()
{
    if ($this->isAjax()) {
       $customers = array();
       $data = json_decode($_POST['informations'], true);

       ... naplneni promenne $customers

       $this->template->overviewCustomers = $customers;
       $this->redrawControl('wizard-data-finish');
   }
}

Pokud ten ajax má metodu GET, tak redrawControl funguje (data v promenne $overviewCustomers v snippetu se překreslí), ovšem data musí byt malá (jinak to hlásí chybu moc dlouhého URL). Já ale potřebuji přenést větší množství dat, takže jsem použil POST. Teď ale nefunguje překreslení snippetu a neaktualizuje se obsah.

Prosím o radu. Děkuju moc.

Martin

David Matějka
Moderator | 6445
+
0
-

ahoj, jelikoz posilas ten ajax pozadavek ciste pres jquery, mimo nette ajax handler. zkus $.ajax nahradit za $.nette.ajax

jedlicka
Člen | 61
+
0
-

To je ono. Já $.nette.ajax používám všude, ale tady mi to nějak vypadlo a nemohl jsem na to přijít

Díky moc!