我试图将缓存添加到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;只是工作"。但为什么不呢?我错过了什么?