Ajax - nejjednodušší příklad

Odeslání AJAXového požadavku a zpracování odpovědi má na starosti knihovna Naja https://naja.js.org

HomepagePresen­ter.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/defau­lt.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>