Odeslání AJAXového požadavku a zpracování odpovědi má na starosti knihovna Naja https://naja.js.org
HomepagePresenter.php
<?php
declare(strict_types=1);
namespace App\Presenters;
use Nette;
final class HomepagePresenter extends Nette\Application\UI\Presenter
{
public function renderDefault(){
$this->template->text = Nette\Utils\Random::generate(5);
}
public function handleGeneruj(){
//překreslení snippetu
$this->redrawControl('nahoda');
}
}
Homepage/default.latte
{block content}
<h1>Náhodně generovaný řetězec</h1>
{snippet nahoda}
<div>{$text}</div>
{/snippet}
<!-- třída ajax zajistí, že Naja automaticky zaznamená kliknutí na tento odkaz -->
<a class="ajax" n:href="generuj!">Vygeneruj jiný řetězec</a>
<!-- načtení Najy -->
<script src="https://unpkg.com/naja@2/dist/Naja.min.js"></script>
<!-- inicializace Najy -->
<script>
naja.initialize();
</script>