iOS problém v Safari s Cookies pri AJAX requestoch
Apple v poslednej dobe robí samé chyby. Dávnejšie vyšla druhá aktualizácia iOS a zase neopravili problém, ktorý vznikol po vydaní iOS 6 v Safari s Cookienami. Ja som problém identifikoval len pri Ajaxe.
Už dlhšiu dobu mám problém so Safari v iOS. Neriešil som ho, pretože som predpokladal, že ho opravia v najbližšej aktualizácii operačného systému. Nestalo sa.
Problém s Cookies pri Ajaxe v Safari
Problém vzniká v tom, že ak napr. prihlasujeme užívateľa cez Ajax a dostaneme Cookienu s jeho Session - všetko ide ako má. Lenže ako náhle ju vymažeme alebo upravíme a znova sa snažíme prihlásiť, Safari neprepíše žiadnu hodnotu Cookie. Response obsahuje nový zápis pre Cookienu, ale Safari ho ignoruje.
Problém je, že Safari si "asi" cacheuje (nie hodnotu, ale hlavičky) v AJAX requestoch. Ak posielam napr. prihlásenie cez POST, hlavičky si zapamätá a neviem prečo. Možno Vám už dochádza čo treba urobiť a riešenie je v celku jednoduché.
Riešenie problému
Do URL stačí pridať TimeStamp. Takéto správanie čakám pri GET metódach, ale pri POST sú pre mňa novinkou. Podobný problém som v iných prehliadačoch nenašiel.
$.post("/login/?stamp=" + new Date().getTime(), { Name: "A", Password: "B" }, function(d) {
...
...
...
});
Peter Širka
tento rok / 24.11.2012
Konštruktívna diskusia (2)
1
Tiez som sa stretol s tymto problemom, imho lepsie riesenie je posielat v odpovedi na ajax request header "Cache-Control: no-cache", potom ho nebude cachovat ani ios6 (http://stackoverflow.com/questions/12506897/is-safari-on-ios-6-caching-ajax-results).
Anonym, pred 5 mesiacmi
2
Ďakujem za tip, toto ma nenapadlo.
Peter Širka, pred 5 mesiacmi
Môj najnovší blog z ďalšej kategórie
-
Paradox internetových obchodovOstatok / pred týždňomUž dlhší čas premýšľam o tom, že sa niekde asi stala chyba. V tomto myšlienkovom blogu uvediem len pár príkladov nad čím som sa zamyslel v aute.Prečítať 2
Podobné blogy
-
JavaScript: získanie názvu parametrov z funkcieKódovanie, vývoj / pred 2 týždňamiDávnejšie som pri písaní partial.js potreboval získať v jednej funkcii názvy parametrov z funkcie. Problém je, že property arguments vráti len hodnotu - nie názov parametra/premennej.Prečítať 6
-
node.js a problém s RAMKódovanie, vývoj / pred 2 týždňamiUž dlhší čas pozorujem pri aktuálnych verziách node.js problém s využívaním RAM. Mám pocit, že tu vzniká veľký problém na ktorý nemám momentálne žiadne riešenie. U starších verziách node.js (<= v0.8) som takýto problém nezaznamenal.Prečítať
-
Dlhá cesta kódovaniaKódovanie, vývoj / pred 3 týždňamiKratučké informácie o kódovaní partial.js v node.js + základné informácie o NoSQL embedded databáze pre node.js. V blogu uvádzam aj malú ukážku frameworku vo videu.Prečítať 2
-
Jednoduché node.js ORM pre partial.jsKódovanie, vývoj / pred 5 mesiacmiJednoduché ORM pre partial.js. Z NoSQL databáz som už unavený a tak som sa rozhodol vrátiť na cestu poznania a napísal som jednoduché ORM pre node.js. Zabil som s tým celý víkend, ale podarilo sa. Použitie je trošku komplikovanejšie.Prečítať
-
Zaujímavá deklarácia objektu v JavaScripteKódovanie, vývoj / pred 5 mesiacmiPomocou uvedenej deklarácie je možnosť prehľadne definovať property type v JavaScripte. Ja osobne som o tomto zápise nevedel a predsa existuje.Prečítať 6
Made with in Bratislava © 2012





