Zobrazování fáze scriptu přes Ajax?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MW
Člen | 626
+
0
-

Prosim o radu. Mam script vykonavany po odeslani formulare. Jedna se o nahrani souboru, pak prevod do jine kodove stranky a pote import do databaze.

Rad bych se zeptal, jak je mozne resit vystup informaci o fazi, kde se script nachazi..

Vse se deje v jedne metode, kde jsem i zkousel napriklad pres flashmessage, snippet a invalidateControl, ale to se samozrejme behem scriptu nevykona..

Nasel jsem i nejaky Jquery progressbar, ale nevim, je-li mozne a popripade jak, s nim komunikovat primo z presenteru behem vykonavani scriptu.

Predem dekuji za radu..

iguana007
Člen | 970
+
0
-

Pokud to dobře chápu, co chceš udělat, tak nějakou jednoduchou cestou to asi neuděláš – je to proti logice/průběhu ajaxu požadavku … tj. JS vyšle požadavek na pozadí stránky a čeká odpověď – něco co potom na stránce překreslíš – těch odpovědí na jeden požadavek nemůžeš poslat více za sebou.
Jediné co mě napadá je, že bys musel vyslat požadavek – během běhu skriptu někam ukládat stavy a zároveň by ti musely opakovaně běžet další JS/AJAX požadavky, které by tyto stavy kontrolovaly a reflektovaly jejich stav na stránce – ale to mi přijde dost hardcore :)

pawouk
Člen | 172
+
0
-

No jestli to správně chápu, tak by ti uplně mohl stačit firebug. Nainstaluj si firebug a do něj fireloger a pak si jen napiš tam kde potřebuješ \Nette\Diagnostic\Debuger::firelog(‚ahoj svete‘); Ja to pouzivam neustale a je to super. Zprava se zobrazi ve firebugu v zalozce loger.

Jinak ja ajaxove odesilani formularu testuju tak ze to nedelam ajaxove. A az kdyz to funguje tak to zapnu ajax. Proc to taky tak neudelas?

Editoval pawouk (30. 11. 2011 17:29)

MW
Člen | 626
+
0
-

Slo me o to, dat uzivateli info, ze se neco deje a popripade co…
Takze asi jedine to rozdelit to nekolika akci a redirektovat se zpravou .. ?

22
Člen | 1478
+
0
-

To snad s Nette ani moc nesouvisí.. javascript dokáže odchytit jednotlivé fáze požadavku. – http://api.jquery.com/category/ajax/ na které pak můžeš navěsit točící spinner a jiný ptákoviny.

MW
Člen | 626
+
0
-

Vzhledem k tomu, ze se jedna i o upload souboru, coz ajaxove odeslat nepujde, tak se to komplikuje.. Asi to vymyslim jinak .. presto moc dekuji !

pawouk
Člen | 172
+
0
-

Mimochodem na ajxove odesilani souboru vyuzivam uploadify a jsem s tim velice spokojen.

Ot@s
Backer | 476
+
0
-

Jedna z možností čistě v PHP je použití apc_fetch, viz hezká ukázka od Jakuba V.. Připomínám, že podpora apc musí být v konfiguraci PHP…

iguana007
Člen | 970
+
0
-

pawouk napsal(a):

Mimochodem na ajxove odesilani souboru vyuzivam uploadify a jsem s tim velice spokojen.

No jak se to vezme – ten upload tam nejede přes ajax, ale přes flash (příp. další technologie: HTML5, asilverlight apod.) – toto neřeší ten jeho problém – ale pokud by se týkalo vyloženě uploadu, tak ano a dovolil bych si říct, že uploadify je na toto hodně ideální díky své API – viz dokumentace.

pawouk
Člen | 172
+
0
-

No jo ajaxově to nefunguje, protže ajaxově to nejde žejo :-D tak tohle je podle mě dobré řešení, to jsem jen podotknul jakožto řešení pro ajax, nicméně problém to samozřejmě neřeší… proto taky ta věta začíná … Mimochodem… :-)