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

  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • metal571

    metal571

    30 Mayıs 2006
  • Qmusic Romania

    Qmusic Roman

    8 Temmuz 2011