Aurelia获取客户端缓存URL

问题描述 投票:1回答:1

我有一个使用HttpFetch中的aurelia-fetch-client v1.8.2的Aurelia应用。我遇到的问题是Chrome浏览器正在我的部署之间缓存某些GET请求URL。

例如一个特定的请求将发送到.../api/v1/users,但此后已更改为.../api/v1/users?somequerystring=value,但是客户端报告正在使用旧的URL。大约有3/4个用户正在发生这种情况。由于某些原因,我本人和少数用户可以正常工作,并且使用更新的GET URL发出请求。

我在过去曾经历过响应缓存,并从那时起将'?cacheBust=' + new Date().getMilliseconds()添加到每个GET URL请求中以确保唯一性,但是这种新型缓存对我来说是陌生的。

值得注意的是,这可能是一些JS文件缓存,因为用户正在查看更新的前端页面。

打开开发人员控制台并执行Empty Cache and Hard Reload显然可以,但是我可以期望用户在每次更新请求URL时都需要这样做。

有什么建议吗?

google-chrome caching aurelia aurelia-fetch-client
1个回答
0
投票

正如您自己提到的那样,以及评论,请检查它是否不仅仅是不正确缓存的.JS文件。

话虽如此,如果您确信它与获取客户端或远程调用有关,则可能需要查看本机fetch()API的Request.cache属性。考虑到围绕本机API的aurelia-fetch-client库只是一个包装器,您可以尝试以下方法:

const response = await _http.fetch('endpoint', { cache: 'no-store' });

在指向文档的引用链接中有很多其他示例。概括地说,no-store选项告诉浏览器从远程服务器获取资源,而无需先查看缓存。

© www.soinside.com 2019 - 2024. All rights reserved.