我需要客户端(使用javascript)使其拥有的页面无效并基本上获取新版本?
我以为我可以使用标题来完成所有操作:Invalidating cached content, If-Modified Headers?
如果没有办法让浏览器刷新当前的缓存版本,而没有发出新的请求(通过新的URL)......那么可以使用相同的原始URL请求来查看更新的内容?
答案 0 :(得分:7)
如果您想重新加载当前页面,您可以这样做:
location.reload(true);
否则“传统”方式是在末尾添加随机查询字符串
'...?rnd=' + Math.random();
答案 1 :(得分:6)
您不能使用javascript,解决问题或使用方法POST而不是GET或使用nocache random parameter trick:
如果您想了解更多信息,请参阅: Is it possible to cache POST methods in HTTP?
答案 2 :(得分:3)
当您引用该页面时,在末尾添加一个随机变量。例如:
document.location.href = 'mypage.html?randomVar=454068934';
这将确保非缓存版本。我建议使用javascript生成的guids。
答案 3 :(得分:1)
我所做的是在网址中传递一个随机参数。即如果我需要获取products.php我称之为products.php?rand = 23443545。 这样缓存不会干扰。