Meilleure Façon de Prévenir IE Cache dans AngularJS?

J'utilise actuellement le service/$de ressources pour faire des appels ajax (OBTENIR dans ce cas), et IE met en cache les appels pour que de nouvelles données ne peuvent être récupérées à partir du serveur. J'ai utilisé une technique que j'ai trouvé sur google pour créer un nombre aléatoire et l'ajouter à la demande, de sorte que IE n'ira pas en cache pour les données.

Est-il une meilleure façon que l'ajout de la cacheKill à chaque requête?

code usine

.factory('UserDeviceService', function ($resource) {

        return $resource('/users/:dest', {}, {
            query: {method: 'GET', params: {dest: "getDevicesByUserID"}, isArray: true }
        });

Appel à partir du contrôleur de

$scope.getUserDevices = function () {
        UserDeviceService.query({cacheKill: new Date().getTime()},function (data) {
            //logic
        });
    }
  • J'ai ajouté Pas-en-têtes de Cache sur le côté serveur et il a travaillé pour l'instant.
  • Ufuk, qui semble être le moyen le plus efficace de faire prendre en charge le problème "à l'échelle mondiale" ou plus de manière évolutive, sans avoir à faire tous les ajax/appel RESTE unique. Vous devez répondre à la question, donc je peux le marquer comme réponse! Vous méritez le crédit.
  • BTW, je suis l'aide d'un noeud/express pour le serveur web, et j'ai accompli ce que Ufuk recommandé en ajoutant le code suivant à exprimer config: app.utilisation(fonction noCache(req, res, next){ res.header("Cache-Control", "no-cache, pas de magasin, must-revalidate"); res.header("Pragma", "no-cache"); res.header("Expires",0); next(); })
InformationsquelleAutor binarygiant | 2013-06-06