Search code examples
jqueryajaxhtmloffline-caching

update offline cache w/ajax


I have a site that fetches content with Ajax.

Would it be possible to do this:

1) upon first request get some data and store in offline cache (I know this one can be done)

2) fetch additional data with ajax and add that to the offline cache storage, so that next time user fires browser to my url without a working internet connection, the most recently fetched data will be displayed?


Solution

  • yes, it is possible.

    you can do this by.

    • first read the content that is sotred in cache. (stored content is in key value pair)

    you can do this by

    var storeObj = window.localStorage;
    var string = storeObj.getItem(storeKey);
    

    // this will be string

    parse it into json if you want that.

                    json = JSON.parse(string);
    

    * now append yor result as by string or by json.

    // if by json
    json["item"] = "newvalue";
    
    • now clear storage by key

      storeObj.removeItem(storeKey);
      
    • now store back this new json to cache

      storeObj.setItem(storeKey, JSON.stringify(json));