iOS problém v Safari s Cookies pri AJAX requestoch

Späť
Autor: Peter Širka, napísané pred 2 rokmi / 24.11.2012
Diskusia (2)

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
pred 2 rokmi / 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
Anonym, pred 2 rokmi
2
Ďakujem za tip, toto ma nenapadlo.
 
Peter Širka
Peter Širka, pred 2 rokmi

Nevyplnil si všetky povinné políčka alebo si ich vyplnil chybne. Neojebávaj môj systém.
Skontroluj či si zadal meno, e-mail a komentár.
Tvoj komentár bol úspešne odoslaný.
Ďakujem.
Prezývka:
E-mailová adresa:

Na fotografie využívam službu Gravatar.
Komentár:
 


Môj najnovší blog z ďalšej kategórie

  • Paradox internetových obchodov
    Paradox internetových obchodov
    Ostatok / pred 2 rokmi
    Už 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 funkcie
    JavaScript: získanie názvu parametrov z funkcie
    Kódovanie, vývoj / pred 2 rokmi
    Dá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 RAM
    node.js a problém s RAM
    Kódovanie, vývoj / pred 2 rokmi
    Už 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ódovania
    Dlhá cesta kódovania
    Kódovanie, vývoj / pred 2 rokmi
    Kratuč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.js
    Jednoduché node.js ORM pre partial.js
    Kódovanie, vývoj / pred 2 rokmi
    Jednoduché 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 JavaScripte
    Zaujímavá deklarácia objektu v JavaScripte
    Kódovanie, vývoj / pred 2 rokmi
    Pomocou 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