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

  • gsipek

    gsipek

    20 Temmuz 2007
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • Manuel Vizcaino

    Manuel Vizca

    27 Mayıs 2008