2016-05-05 3 views
1

新しいデータをデータベースに追加した後にキャッシュを更新する必要があります。

angular.module('app').factory('myService', function ($http,$cacheFactory) { 

    var profileCache=$cacheFactory('profiles'); 

    //get list of items 
    function getItem(){ 
    var request=$http({ 
    method:'get', 
    url:domain+'/api/v1/items/list', 
    cache:profileCache, 
    params:{ 
     action:'get' 
    } 
    }); 
    return(request.then(response.data)); 
} 
// Post items 
function addItem(item){ 
    var request=$http({ 
    method:'post', 
    url:domain+'/api/v1/items/add', 
    data:item 
    }); 
    return(request.then(response.data)); 
} 
}) 

キャッシュが新しい変更データを持つことができるように、アイテムが追加されるとキャッシュを更新したいと考えています。

+0

これはあなたに役立つかもしれません[キャッシュを更新または無効にする](http://stackoverflow.com/questions/17059569/how-to-refresh-invalidate-resource-cache-in-angularjs) –

+0

@GitaramKanawade Yupはそれを見ました。購入は希望通りに実装できませんでした。 –

答えて

0

var $ httpDefaultCache = $ cacheFactory.get( '$ http');あなたがここに

https://docs.angularjs.org/api/ng/service/$http

$ HTTP応答がデフォルト

によってキャッシュされませんが、あなたが特定の環境を持っていて、任意のキャッシュを防ぐために必要がある場合は、日付を追加することができますを読むことができるよう

0

あなたのご要望にお答えします 例

function getItem(){ 
    var d = new Date(); 
    var n = d.getDate(); 
    var request=$http({ 
    method:'get', 
    url:domain+'/api/v1/items/list?' + n, 
    cache:true, 
    params:{ 
     action:'get' 
    } 
    }); 
    return(request.then(response.data)); 
}