Nette a ajax redirect na jiný presenter

Nax
Člen | 35
+
0
-

Zdravím,

nechápu co se děje, ale nemůžu přijít na to jak nějakým pěkným způsobem provést redirect při odeslání ajax requestu.

Co chci aby se stalo: Jsem na nějaké stránce, odešlu formulář, zpracuji ho, a na základě výsledku zpracování přesměruji na jinou stránku – tak, aby se neprovedlo znovunačtení stránky, pouze aby se nastavila url jineho presenteru, a překreslil content. $this->redirect(„Homepage:“); jak jsem již zjistil na toto fungovat nebude, zkusil jsem tedy použít toto:

public function renderIn() : void
    {
        if($this->isAjax()) {
            $this->setView("../Homepage/default");
            $this->redrawControl("content");
            $this->redrawControl("flashes");
            $this->redrawControl("navbar");
        }
    }

Toto překreslí stránku přesně jak potřebuji, nicméně URL v prohlížeči zůstane stejná jako před tím, což nechci, chci aby tam byla url Homepage. Nenapadá mě bohužel jak toto provést jinak, než že si budu co šablon cpát nějakou vygenerovanou url a javascriptem ji pak měnit v prohlížeči.

Existuje na toto tedy nějaké elegantní řešení?

GEpic
Člen | 562
+
0
-

zkus toto

Nax
Člen | 35
+
0
-

Nakonec se to vyresilo zapnutim nette ajax extension redirect. Díky

$.nette.ext(‚redirect‘);