Pouzitie restoreRequest() po uspesnom ajaxovom odoslani formulara
- hoou
- Člen | 43
Tuto otazku som tu uz videl niekolko krat, ale v starsich vlaknach a nebola
zodpovedana, preto sa skusim spytat znova, snad mi niekto bude vediet
poradit.
Pouzivam nette.ajax.js. Mam ajaxovy formular pre prihlasovanie
uzivatelov. Po uspesnom prihlaseni pouzivam restoreRequest(),
aby to uzivatela hodilo na poslednu stranku. Lenze po kliknuti na submit button
a uspesnom prihlaseni k presmerovaniu nedojde. Ked nasledne refreshnem stranku,
uzivatel je prihlaseny. To znamena, ze sa jedna len o to presmerovanie, ktore
nefunguje. Ak AJAX vypnem, funguje to. Vedel by mi niekto poradit, ako
na to?
- hoou
- Člen | 43
Chapem to spravne, ze namiesto restoreRequest($this->backlink) budem volat tu funkciu redirectToRequest($this->backlink) a bude to robit, to co chcem? Skusal som to teraz hodit do BasePresenteru ako public metodu, ale hadze mi to chybu ‚Cannot read an undeclared property App\Presenters\SignPresenter::$httpRequest.‘ Co ma predstavovat ta property httpRequest?
- hoou
- Člen | 43
OK, takze toto sa mi podarilo nakoniec nejako rozbehat, kazdopadne to neriesi moj problem. Skusam tu druhu moznost s tym, ze metodu run() si definujem v BasePresenteri a nakonci volam parent::run(). Kazdopadne neviem, co jej mam dat za parameter, skusal som aj povodny $request alebo nahradeny premennou $stored, ale nefunguje mi to. Prepac, ze sa tak blbo pytam, ale vobec netusim co robim. BTW vysledok je taky, ze mi to nenacita ziadnu stranku, nedojdu mi ziadne data, len tracy.
- hoou
- Člen | 43
Ano, mas pravdu :) no bohuzial stale nic… Odoslem formular a nikde ma to nepresmeruje. Pricom vidim poziadavok POST s kodom 302 a hned za tym GET 200, kde vidim obsah, ktory potrebujem, ale nechce to prekreslit. Podotykam, ze pouzivam ajaxove spracovanie formulara. Ak ajax zrusim, tak to funguje perfektne, ale nevidim rozdiel v tomto a v klasickom restoreRequest(). Je potrebne napisat si nejaku js funkciu na strane klienta?
- enumag
- Člen | 2118
Zkus na tenhle řádek dát complete místo success, to by mohlo pomoci. Ale nevím, u mě to nepomohlo protože používám history.ajax.js kde je to poněkud složitější a ještě jsem nevymyslel co s tím.