网上有很多关于如何防止 jQuery AJAX 请求被缓存的答案。这不是我想要做的。
我需要根据我的代码中的条件从缓存中返回 AJAX 请求。也就是在页面加载的时候发出请求,返回缓存的响应是完全可以的(其实就是这个意思)。但是当用户单击一个按钮时,我需要从服务器刷新相同的请求。
我知道我可以通过cache: false
在 jQuery 中设置选项来做到这一点,但这只会使用不同的 URL 请求数据,因此不会刷新缓存中的响应,并且在下一页加载请求时cache: true
将返回过时的数据。
我尝试Cache-Control
在请求中添加标头,但这至少在 IE10 中没有效果。
$.ajax({
url: Configuration.ApiRootUri + "Notifications",
type: "GET",
headers: { 'Cache-Control': refreshCache ? 'no-cache' : 'private' },
success: function(data) {}
});
是否有可能强制浏览器从脚本刷新缓存的资源?