Autor | Zpráva | ||
---|---|---|---|
jirak Profil * |
#1 · Zasláno: 20. 1. 2014, 17:29:13
Je následující postup dobrá praktika, resp. alternativa k ajaxovým odesílaním formulařů, pokud nechci refresh??? Po klasickém odeslání formuláře přesměruju pomocí php funkce header(). Navenek se to jeví, že jsem formulář odeslal ajaxem.
|
||
Davex Profil |
#2 · Zasláno: 20. 1. 2014, 23:05:16
Přesměrování pomocí funkce
header("Location: ...") je v podstatě skoro to samé jako <meta http-equiv="refresh"> , takže moc nevidím souvislost s AJAXem, kde se data odesílají na pozadí bez překreslování stránky.
Pokud ti jde o schování odeslání formuláře bez asistence JavaScriptu, tak můžeš výsledek odeslání nasměrovat do rámu. Tam se ale ještě nějak musíš vyrovnat se situací, kdy dojde k nějaké chybě a je potřeba informovat uživatele. <iframe name="skryty"></iframe> <form target="skryty"> |
||
jirak Profil * |
#3 · Zasláno: 21. 1. 2014, 12:59:34
Davex: Asi jsem měl lépe popsat situaci. Všechny požadavky v URL mám přesměrovány na index.php a podle parametrů v URL volám controllery atd. Tzn., pokud po odeslání formuláře přesměruji funkcí header() na stejnou cool URL, výsledek vypadá tak, že ono přesměrování není okem viditelné a vypadá to úplně stejně jako kdybych použil AJAXové odeslání formuláře na pozadí. Nevím, zda se vyjadřuji srozumitelně. Díky.
|
||
_es Profil |
#4 · Zasláno: 21. 1. 2014, 14:08:49
jirak:
„výsledek vypadá tak, že ono přesměrování není okem viditelné“ Možno u teba, ale čo ak bude pomalšie spojenie, vzdialenejší návštevník stránky,... Z toho popisu som pochopil, že sa v prvom kroku formulár odošle klasicky a potom je ešte odpoveď servera zahodená a načítaná iná stránka do celého okna. Teda to je ešte pomalšie, než keby odpoveď servera na odoslanie formulára vrátila hneď „klasicky“ celú stránku. |
||
jirak Profil * |
#5 · Zasláno: 22. 1. 2014, 07:57:00
_es: Ano vpodstatě je odpověď zahozená. Ale jak nejlépe tedy po odeslání formuláře přesměrovat na stejnou stavovou URL? Když nepřesměruji, tak při refresh F5 prohlížeče se dokola odesílá formulář.
|
||
Časová prodleva: 11 let
|
0