我第一次加载我的模态HTML页面并获取正确的数据,但如果我尝试第二次加载我收到错误,
请在下面找到我的JS代码,
var cache = $cacheFactory('cacheId');
var cacheData = cache.get('xml');
if (!cacheData) {
MyRestApi.getData($scope.data1).then(function(response) {
cacheData = response;
cache.put('xml', cacheData);
});
} else {
var processdata = cache.get('xml');
}
在我的MyRestApi.js中,我使用下面的代码,
getData: function(Key) {
return $http.get(baseURL + '/getDetails/' + Key, {
headers: header,
cache: true
});
}
这是我第一次在angular JS中使用$ cache,请告诉我为什么会收到此错误。我第二次加载相同的模态页面,我收到此错误。 获取angular.js:13568错误:[$ cacheFactory:iid] CacheId' cacheId'已经被拿走了!
答案 0 :(得分:0)
这就够了:
getData: function(Key) {
return $http.get(baseURL + '/getDetails/' + Key, {
headers: header,
cache: true
});
}
第一次获取数据时,它将存储在http缓存中。第二次发出相同的请求时,它将传递缓存的值而不是再次获取它。只需查看开发工具中的网络选项卡即可确认。
但是,如果您有一个单页应用程序,则重新加载(f5)页面将重置缓存。