Redirect uprostřed AJAX requestu
- ODIS
- Člen | 33
Snažím se dojít k následujícímu stavu:
- poslat na presenter AJAX request
- nečekat na zpracování (cca 1 minuta) a provést redirect na jinou stránku
Když pošlu request na skript mimo prostředí Nette, tak mi v bezprostředním redirectu nic nebrání, ale při volání presenteru se zřejmě vyžaduje, aby byl proces před redirectem dokončen.
Nevíte někdo čím by to mohlo být způsobeno? Problém jsem nakonec vyřešil jinak, ale brouk v hlavě zůstal :).
- GEpic
- Člen | 566
ODIS napsal(a):
Snažím se dojít k následujícímu stavu:
- poslat na presenter AJAX request
- nečekat na zpracování (cca 1 minuta) a provést redirect na jinou stránku
Když pošlu request na skript mimo prostředí Nette, tak mi v bezprostředním redirectu nic nebrání, ale při volání presenteru se zřejmě vyžaduje, aby byl proces před redirectem dokončen.
Nevíte někdo čím by to mohlo být způsobeno? Problém jsem nakonec vyřešil jinak, ale brouk v hlavě zůstal :).
Redirect musíš provést v javascriptu a AJAX poslat asynchroně (tzn. nedávat redirect do success ajaxu, ale jako další příkaz). PHP není asynchroní, takže redirect v Nette ti nepomůže.
Editoval GEpic (21. 8. 2016 22:18)
- ODIS
- Člen | 33
Redirect musíš provést v javascriptu a AJAX poslat asynchroně (tzn. nedávat redirect do success ajaxu, ale jako další příkaz). PHP není asynchroní, takže redirect v Nette ti nepomůže.
Nevím, jestli si rozumíme. Nechci provést redirect ani přes JS ani přes PHP. Chci mít možnost po AJAX requestu kliknout na odkaz vedoucí na jinou stránku a nebýt blokován dokončením poslaného AJAX requestu.
- Jan Tvrdík
- Nette guru | 2595
@ODIS Nehledáš náhodou Session::close()? Dva procesy nemůžou mít zároveň otevřenou stejnou session.
- ODIS
- Člen | 33
Jan Tvrdík napsal(a):
@ODIS Nehledáš náhodou Session::close()? Dva procesy nemůžou mít zároveň otevřenou stejnou session.
@JanTvrdík to je přesně ono! Mockrát díky za přesnou odpověď :).