对于浏览器缓存有很多答案,但大多数是关于打开或关闭缓存或请求使用不同的URL来处理某些静态资产(如js或图像)。
当用户执行该操作时,我想使缓存无效并从服务器获取新版本。
有没有办法在不更改网址的情况下清除浏览器本地缓存。因此,/ tasks被缓存到明年。我想使其无效并强制将来/ tasks的请求获取新数据和新的expires头。
我最好不允许浏览器缓存并在服务器上缓存请求/数据吗?
另一个类似的问题: Forcing AJAX request to revalidate cache with server, without reloading completely
答案 0 :(得分:-1)
cache: false
jquery的foreach请求会将时间戳添加为get paramater,因此请求是唯一的并且不会被缓存
$.ajax({
url:"example.php"
cache:false
});
指的是jquery docs: cache(默认值:true,false,对于dataType'script'和'jsonp') 类型:布尔值 如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能与HEAD和GET请求一起正常工作。它的工作原理是将“_ = {timestamp}”附加到GET参数。其他类型的请求不需要该参数,但在IE8中,当对已经由GET请求的URL进行POST时,该参数除外。