Jquery 当按下重新加载按钮时,页面启动的ajax请求缓存是否无效?

Jquery 当按下重新加载按钮时,页面启动的ajax请求缓存是否无效?,jquery,ajax,caching,browser,Jquery,Ajax,Caching,Browser,当您按下浏览器的“重新加载”按钮,jQuery文档上执行缓存的ajax调用时会发生什么?您会得到一个缓存副本,还是会因为按下了“重新加载”按钮而使缓存无效。接下来的问题是,在页面完全重新加载后,对于用户在页面上发起的操作进行的ajax调用,缓存是否会失效 根据我正在使用的应用程序的个人测试,点击“重新加载”按钮会使页面上的ajax调用缓存无效 我一直在寻找这些信息,最近得到的是Mozilla开发者网络上的缓存常见问题解答 对我来说,将ajax请求与页面重新加载分开是有意义的,但正如我在个人测试中

当您按下浏览器的“重新加载”按钮,jQuery文档上执行缓存的ajax调用时会发生什么?您会得到一个缓存副本,还是会因为按下了“重新加载”按钮而使缓存无效。接下来的问题是,在页面完全重新加载后,对于用户在页面上发起的操作进行的ajax调用,缓存是否会失效

根据我正在使用的应用程序的个人测试,点击“重新加载”按钮会使页面上的ajax调用缓存无效

我一直在寻找这些信息,最近得到的是Mozilla开发者网络上的缓存常见问题解答

对我来说,将ajax请求与页面重新加载分开是有意义的,但正如我在个人测试中提到的,情况似乎并非如此。在某些背景下,我使用ASP.NET MVC,在VendorList操作中将OutputCache设置为Location=Client

以下是Chrome开发者工具网络选项卡上记录的请求:

缓存了供应商列表的请求

由“重新加载”按钮启动的请求,注意供应商列表未缓存

供应商列表非缓存请求详细信息

重新加载网页时,会再次进行Ajax调用,所有调用都是如此。然后,不管页面是否被缓存,它都会独立地创建所有ajax调用

如果你想避免缓存网页,一个好的相关提示是按Ctrl+F5重新加载


此外,如果需要为服务器保存一些资源,您可以创建服务器端缓存的ajax调用。

您只会得到静态资源(如js、css、img文件)的缓存副本。再次发出任何其他get/post请求。ajax调用的操作方法配置为使用私有缓存。但是,重新加载页面似乎会使ajax请求的缓存无效。这种行为对我很有帮助,但我无法解释它,也无法相信它会在生产环境中以及跨浏览器工作。如果在回发期间缓存被持久化,则需要在浏览器控制台中进行检查。我不明白为什么缓存对象会在重新加载时消失。我也不知道为什么,但这似乎是一种行为。浏览器开发工具的屏幕截图就是证明。ajax请求缓存不受重新加载按钮的影响对我来说很有意义,但它与我的测试不匹配。