Search code examples
ajaxcachingcordovasafariios6

Prevent iOS 6 from Caching Ajax POST Requests


Possible Duplicate:
Is Safari on iOS 6 caching $.ajax results?

I have a hybrid application using PhoneGap that runs fine on Android and iOS. But when I started testing in iOS 6 I noticed that I am not getting server data for most of my ajax calls - instead I was getting the cached data from previous ajax calls.

So far I have tried the following options to disable cache -

  1. Include a timestamp as query string parameter
  2. $.ajaxSetup({ cache: false });
  3. Inside the ajax call no-cache = true
  4. $.ajaxPrefilter(function (options, originalOptions, jqXHR) { options.data = jQuery.param($.extend(originalOptions.data||{}, { timeStamp: new Date().getTime() })); });

But none of these seems to be working. I am invoke Java action classes from my ajax calls - will it have something to do with the reason why the methods listed above are failing?


Solution

  • Read this thread

    Is Safari on iOS 6 caching $.ajax results?

    You could disable the caching on webserver level and by using timestamps in the URL.