AJAX, překreslit snippet – co je špatně

- futuretux
 - Člen | 24
 
Ahoj,
pokusil jsem se rozchodit AJAX v Nette a moc se mi to nedaří. Je to asi jen
začátečnické nepochopení, ale byl bych rád, kdyby mi to někdo
vysvětlil.
1) Použil jsem jquery.nette.js z examplu Fifteen
2) @layout.latte
...
<a n:href="show!" class="ajax">Show!</a>
{snippet mbox}{$message}{/snippet}
...
3) XxxPresenter.php
public function renderDefault() {
	$this->template->message = 'Nacteno normalne';
}
public function handleShow() {
	if ($this->isAjax()) {
		$this->template->message = 'Nacteno ajaxem';
		$this->invalidateControl('mbox');
	}
}
A co se stane. AJAX požadavek přijde do handleShow(), vleze do toho if-u – otestováno fopen(…) a vytvořením souboru v té části kódu. Ale nic se nevykreslí.
Asi jsem něco nepochopil správně; příklad fifteen je moc komplexní, dokumentace není moc sdílná.
A jestě bonusový dotaz – pokud bych pouzil $this->payload->xyz = ‚neco‘, tak jak bych mohl na straně šablony přijmout ty payload data? To jsem taky nepobral.
Díky

- futuretux
 - Člen | 24
 
Tak se omlouvám za unáhlený dotaz, vůbec jsem nevěděl o této části „dokumentace“, odpověď jsem našel na https://doc.nette.org/…ication/ajax – a doslo mi, ze se pak vzdy vola ten render.
Ale ještě bych rád ponechal tu část dotazu na konci, tedy pokud budu posílat data pomocí $this->payload->xyz, tak jak je pak vydoluju na straně JS? Má na to nette taky nějakou cool zkratku?

- Ot@s
 - Backer | 476
 
futuretux napsal(a):
Ale ještě bych rád ponechal tu část dotazu na konci, tedy pokud budu posílat data pomocí $this->payload->xyz, tak jak je pak vydoluju na straně JS? Má na to nette taky nějakou cool zkratku?
Payload na straně klienta je dostupná pouze uvnitř metody
$.nette.success (jako parametr payload).