0
我有,我用我的控制器小回購廠服務:爲什麼沒有angularjs緩存我的請求到github api?
我的控制器:
angular.module('repoApp')
.controller('MainCtrl', function ($scope, $repoService) {
$scope.repos = $repoService.getRepos();
});
我廠:
angular.module('repoApp')
.factory('$repoService', function ($http) {
var repos =
// $http.defaults.headers['If-Modified-Since'] = 'Sat, 01 Jun 2013 1:31:30 GMT';
$http.jsonp('https://api.github.com/repos/mojombo/jekyll/issues?state=closed&callback=JSON_CALLBACK',
{
cache: true
}
);
// Public API here
return {
getRepos: function() {
return repos.then(function(repoData) {
return repoData.data.data;
});
}
};
});
這工作得很好 - 我回來的結果但每次瀏覽器刷新,我最終得到200響應,而不是304.我做錯了什麼?
我也嘗試過使用JSON_SINGLE_CALLBACK
,如this closed issue所述。
你能告訴我什麼是解決方案嗎? –
我不太瞭解Angular,但我爲你閱讀了一些其他問題,併爲你閱讀了他們的文檔。這裏有一個問題可能會有所幫助:http://stackoverflow.com/questions/12225475/angularjs-how-to-add-caching-to-resource-object(閱讀所有的答案)及其文件如何執行緩存(雖然他們似乎建議使用'$ resource'而不是'$ http'):http://docs.angularjs.org/api/ng.$http –