AngularJS $资源缓存不起作用

时间:2014-12-03 16:37:00

标签: angularjs caching angularjs-resource

我试图将缓存添加到Angular中的$resource,但无论我尝试什么(到目前为止),Angular总是会执行完整的请求,服务器会愉快地返回完整的响应。

简化,我的$resource看起来像这样:

app.factory("Brands", ["$resource", "JsonCache", function($resource, JsonCache) {
  return $resource("/api/car_brands", {
    query: {
      method: "GET",
      isArray: true,
      cache: JsonCache
    }
  });
}]);

JsonCache是这样的:

app.factory('JsonCache', function ($cacheFactory) {
  return $cacheFactory('json-cache');
});

我也试过cache: true,但没有帮助。

我使用的是Angular 1.3.2和Angular-resource 1.3.2。

服务器返回这些标题:

Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: application/json
Date: Wed, 03 Dec 2014 16:20:59 GMT
Keep-Alive: timeout=5, max=99
Server: Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
Transfer-Encoding: chunked
Vary: Accept-Encoding

我没有看到特定于缓存的标题,但是当我告诉Angular缓存这些内容时,无论如何,我都希望它能够缓存。此外,我无法修改这些标题,所以我必须处理它。

我无法在文档中找到任何其他详细信息,告诉我还有其他我需要设置的内容(例如,我不知道,TTL?)所以我只能假设它应该& #34;只是工作"。但为什么不呢?我错过了什么?

0 个答案:

没有答案