gpt4 book ai didi

AngularJs http 获取缓存不起作用

转载 作者:行者123 更新时间:2023-12-02 21:11:59 24 4
gpt4 key购买 nike

开发此应用程序: https://billiving-qa.azurewebsites.net/spa1/#/invoices

一些 http 调用应该被缓存,但由于某种原因这不起作用:

 function getStatuses() {
return $http.get('/v1/definitions/status', { cache: true })
.then(function (response) {
return response.data;
})
}

如果您查看网络,您会看到尽管设置了标志,但“v1/definitions/status”未缓存。

谢谢

最佳答案

实际上,从我所看到的来看,它正在缓存。

Angular 的内部缓存仅将内容存储在应用程序本身的内存中,它与浏览器缓存不同。当应用程序尝试多次请求相同的 url 时,例如在路由之间返回和第四次时,Angular 的缓存就会发挥作用。然后它从缓存中获取响应,而不是执行另一个 http 请求。

它不会在浏览器中缓存内容。如果完全重新加载页面,您还会重新加载应用程序及其内存中的任何内容,例如 Angular 的内部缓存。因此在这种情况下会提出一个新的请求。

如果你想要一个浏览器级缓存,以便即使在页面重新加载时它也会被缓存,你需要使用来自服务器的缓存 header 来处理它,Angular 对此无法控制。

例如,缓存请求1小时

cache-control: public, max-age=3600

关于AngularJs http 获取缓存不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32887487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com