Javascript 有选择地强制浏览器缓存清除Ajax请求

Javascript 有选择地强制浏览器缓存清除Ajax请求,javascript,ajax,caching,backbone.js,Javascript,Ajax,Caching,Backbone.js,对于浏览器缓存,有很多答案,但大多数都是关于打开或关闭缓存,或者对一些静态资产(如js或图像)请求使用不同的url 我正在通过ajax请求加载json数据 这是动态内容,比如说任务列表 我只想在用户完成某个操作后更新。在此之前,它可以永远缓存 当用户执行该操作时,我希望使缓存无效并从服务器获取新版本 有没有一种方法可以在不更改url的情况下清除浏览器本地缓存。因此,/tasks被缓存到明年。我想使其失效,并强制将来对/tasks的请求获取新数据和新的expires头 我不允许浏览器缓存,而是在

对于浏览器缓存,有很多答案,但大多数都是关于打开或关闭缓存,或者对一些静态资产(如js或图像)请求使用不同的url

  • 我正在通过ajax请求加载json数据
  • 这是动态内容,比如说任务列表
  • 我只想在用户完成某个操作后更新。在此之前,它可以永远缓存
  • 当用户执行该操作时,我希望使缓存无效并从服务器获取新版本

  • 有没有一种方法可以在不更改url的情况下清除浏览器本地缓存。因此,/tasks被缓存到明年。我想使其失效,并强制将来对/tasks的请求获取新数据和新的expires头

  • 我不允许浏览器缓存,而是在服务器上缓存请求/数据,这样会更好吗

另一个类似问题:

foreach请求with
cache:false
jquery将添加一个时间戳作为get参数,因此请求是唯一的,不会被缓存

$.ajax({
    url:"example.php"
    cache:false
});
关于: 缓存(对于数据类型“script”和“jsonp”,默认值为true、false) 类型:布尔型
如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能正确处理HEAD和GET请求。它的工作原理是在GET参数后面附加“={timestamp}”。其他类型的请求不需要该参数,除非在IE8中,当对GET已请求的URL进行POST时。

使用localStorage/Sessionstorage存储数据是否更容易,以及当用户执行某个操作时清除该存储并从服务器获取新数据?@VeldMuijz-是的,这是一个很好的建议。我也许可以利用它!谢谢我也想知道人们对我提出的两个问题有什么看法,以备将来参考。谢谢回答,但url必须是相同的。我知道这个功能。请看问题的第一行。