Jos*_*osh 2 angularjs angular-cache
使用此应用程序:https : //billiving-qa.azurewebsites.net/spa1/#/invoices
一些 http 调用应该被缓存,但由于某种原因这不起作用:
function getStatuses() {
return $http.get('/v1/definitions/status', { cache: true })
.then(function (response) {
return response.data;
})
}
Run Code Online (Sandbox Code Playgroud)
如果您查看网络,您会看到“v1/definitions/status”未缓存,尽管设置了标志。
谢谢
实际上,它正在缓存我所看到的。
Angular 的内部缓存仅将内容存储在应用程序本身的内存中,它与浏览器缓存不同。当应用程序尝试多次请求相同的 url 时,Angular 的缓存就会发挥作用,比如在路由之间返回和第四次。然后它从缓存中获取响应,而不是执行另一个 http 请求。
它不做的是在浏览器中缓存内容。如果您完全重新加载页面,您也会重新加载应用程序及其内存中的任何内容,例如 Angular 的内部缓存。因此,在这种情况下,会发出一个新请求。
如果你想要一个浏览器级别的缓存,以便在页面重新加载时也能缓存它,你需要使用来自服务器的缓存头来处理它,Angular 无法控制它。
例如,将请求缓存 1 小时
cache-control: public, max-age=3600
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |