2015-05-14 59 views
3

我想要防止在角度緩存。爲此,我將緩存屬性設置爲 false.After這樣做後,我請求相同的url。但沒有發送請求 到我的服務器。爲防止 使用的代碼,如何防止在角度緩存?

$http({ 
     cache : false, 
     method: "GET", 
     url :"myurl"; 

        }).success(function(data) { 

        }).error(function(data) { 
    }); 

,並用於刪除緩存代碼,

var $httpDefaultCache = $cacheFactory.get('$http'); 
$httpDefaultCache.remove('myurl'); 

$http({ 
     cache : false, 
     method: "GET", 
     url :"myurl"; 

        }).success(function(data) { 

        }).error(function(data) {   
    }); 

u能幫助我嗎?請

回答

2

你可以通過虛擬參數的URL,使URL成爲通過向其中添加數據而具有獨特性。在params陣列中傳遞dummy參數不會損害$http get調用。

$http({ 
    method: 'GET', 
    url: 'myurl', 
    params: { 'dummy': new Date().getTime() } 
}) 

這將確保您的網址無法緩存。

最好的辦法是禁用緩存在服務器端link here

+0

烏拉圭回合的答覆好,謝謝......我已經嘗試過這種方式......但有來處理這個問題,而不經過時間PARAM任何替代方法。 –

+0

@AnilaJacob我敢肯定有沒有其他方式在客戶端做到這一點..這種方式有什麼問題..?否則你需要在服務器端設置緩存。 –

+0

嗨pankajparkar, Plz check thi like, https://coderwall.com/p/40axlq/power-up-angular-s-http-service-with-caching 當我搜索這個問題都有相同的答案像設置緩存屬性爲false或從緩存中刪除之前請求..但所有都不爲我工作。爲什麼這不工作?是否有任何版本問題或任何? –