SORU
6 HAZİRAN 2013, PERŞEMBE


AngularJS IE Önbellek Önlemek için iyi bir Yol?

Ben taze veri olamaz sunucudan alınan olmak, bu yüzden şu anda/$ajax çağrıları yapmak için kaynak (bu durumda), ve IE önbelleğe servis aramaları kullanın. Rastgele bir sayı oluşturmak ve istek eklemek için googling tarafından bulduğum bir tekniği kullandık, YANİ veriler için önbellek gidecek.

Her istek için cacheKill ekleyerek daha iyi bir yolu var mı?

fabrika kodu

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

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

Kontrolör arıyor

$scope.getUserDevices = function () {
        UserDeviceService.query({cacheKill: new Date().getTime()},function (data) {
            //logic
        });
    }

CEVAP
15 Mayıs 2014, PERŞEMBE


posts küresel httpProvider $önbelleğini devre dışı bırakmak olabilir benim diğer: bir tarif

myModule.config(['$httpProvider', function($httpProvider) {
    //initialize get if not there
    if (!$httpProvider.defaults.headers.get) {
        $httpProvider.defaults.headers.get = {};    
    }    

    // Answer edited to include suggestions from comments
    // because previous version of code introduced browser-related errors

    //disable IE ajax request caching
    $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
    // extra
    $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
    $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
}]);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Film Riot

    Film Riot

    16 NİSAN 2006
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009