Sahid Ferdjaoui Blog - Funraill Foundation Bienvenue, Log in - thème 2007 RC1

Powered by OpenSource Softwares

Outil de déboggage colaborative
reduire

Mettre en cache ses objets Javascript

le 22 juin 2008 par sahid

myStorage.js …ses requêtes Ajax en cache

Cette classe JS permet de mettre en cache les résultats de ses requêtes Ajax.
l’intérêt est d’éviter les requêtes inutiles au serveur d’application (et/ou de données). elle utilise le framework prototype.js

Dans une application full Ajax, ou un simple widget Ajax, il peut être intéressant de mettre le résultat de ses requêtes en cache. si on prend l’exemple de données extraites d’une base de données, l’intérêt est encore plus important, car cela évite de re taper la base de données à chaque évènement de l’utilisateur.
Le seul problème est qu’il est important de bien gérer la validité des informations mises en cache.

Mise en route

  1. <script type=“text/javascript” src=“prototype.js”></script>
  2. <script type=“text/javascript” src=“myStorage.js”></script>
  3. <script type=“text/javascript”>
  4.         window.onload = function () {
  5.           storage = new myStorage ();
  6.         }
  7. </script>

Un exemple rapide d’utilisateur avec Ajax.Request

  1. function loadData (id) {
  2.         var key = ‘item-’ + id;
  3.         var item;
  4.  
  5.         /** get data if exists */
  6.         if ((item = storage.get (key)) !== false) {
  7.           return item;
  8.         }
  9.  
  10.         new Ajax.Request (‘data.php?id=’ + id, {
  11.           onSuccess: function (xhr) {
  12.             var json = xhr.responseText.evalJSON ();
  13.             if (json.response && json.response == ‘OK’) {
  14.  
  15.               /** add data for 1 hour */
  16.               storage.set (key, json.data, 3600);
  17.               return json.data;
  18.             }
  19.           }
  20.         });
  21.       }

details sur la lib et téléchargement

Tu peux laisser un commentaire pour Mettre en cache ses objets Javascript