Vyvolání fleshmassage při zpracování formuláře
- shifi
- Člen | 6
Dobrý den,
potřeboval bych poradit. Mám udělaný formulář přes ajax, který instaluje server. Trvá to cca. 3–5 minut a chtěl bych, aby to vypsalo postup instalace.
<?php
...
$this->flashMessage("Server se instaluje, prosím čekejte.", "warning");
$this->redrawControl('flash');
...
$this->flashMessage("Server se nastavuje, prosím čekejte.", "warning");
$this->redrawControl('flash');
...
?>
Dalo by se to nějak udělat?
Díky.
Editoval shifi (4. 2. 2018 13:51)
- David Matějka
- Moderator | 6445
Ne, nijak snadno to nepujde. http funguje na principu request-response a na jeden request tak nemuzes odeslat vice odpovedi (teoreticky by slo nejak reagovat na partial response, ale bylo by to slozite a nespolehlive)
nejlepsi postup asi bude, ze provedes pozadavek, server to jen ulozi ke zpracovani (treba do db) a ihned posle response s nejakym identifikatorem. na pozadi to pak zacne zpracovavat nejaky worker, ktery bude postupne aktualizovat stav v databazi. z prohlizece se pak budes periodicky ptat na stav zpracovani.
obecne neni dobry napad nechat request bezet nekolik minut, ruzne prvky (browser, proxy, http server) se mohou zacit chovat nepredvidatelne a treba timeoutovat nebo opakovat pozadavek. mam s tim cerstvou zkusenost :)