iOS 6 siempre hace cache de peticiones post con PhoneGap

O es iOS 6 o es Safari, pero todas las peticiones que hacíamos por $.post con una aplicación que estamos desarrollando se mantenían en caché, de tal forma que un dato ya obtenido jamás se refrescaba... eso nos estuvo provocando dolor de cabeza hasta que revisamos varios lugares de stackoverflow y resulta que parece ser un bug.

Por lo pronto, la forma más fácil de arreglarlo es que las peticiones que se hagan se les envié algún dato único (no en el post, sino en el URI -GET-), algo como lo que sigue:

//enviamos una variable inventada (unix timestamp)
$.post('http://example.org/?nc='+Math.round((new Date()).getTime() / 1000), { var1:valor1, var2:valor2 }, function(m) {
   //lo que vayas a hacer
   console.log(m);
},'json');

De esa forma, tu aplicación no hará cache todo el tiempo... este comportamiento no lo vimos en Android ni en iOS 5, por lo que puede ser un bug (o feature según le preguntes a quien) del más reciente OS de Apple.

+ fotos / videos

Almacenado en tips, Apple, PhoneGap, Desarrollo Móvil

por Jorge Martínez Mauricio :)

blog / fotos / archivo

iOS 6 siempre hace cache de peticiones post con PhoneGap

tar.mx es un blog sobre fotografía, tecnología y otras chunches

modificado lunes 12 de julio de 2021, 10:37