Autor Zpráva
jirak
Profil *
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
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 *
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
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 *
_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ář.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: