4
我正在为Chrome浏览器编写扩展(后来希望移植到Firefox)。该扩展从我的服务器下载一个配置文件 - 一个XML文件通过XMLHttpRequest。我发现的是,它一次下载文件,并且每次后续调用似乎都使用该文件的缓存原始版本。无论我是否更改服务器上的文件都无关紧要。如何避免通过XMLHttpRequest()下载缓存的数据()
我读了你可以尝试
xmlhttp.setRequestHeader( '用法', '缓存控制:无缓存');
所以我已经这样做了,但它似乎没有任何区别。我能得到新文件的唯一方法似乎是删除浏览器缓存 - 显然这不是我成长中的用户的解决方案。
这似乎是一个问题,我不会成为第一个经历过的人 - 所以考虑到缓存规则似乎坚持这一政策是不容易避免的,我的问题是,什么是更好的设计?有没有我不知道的最佳做法?我应该推动而不是以某种方式拉动?
你甚至不用加“_time ',你可以做'url + ='?' +(new Date())。getTime()' – Midas 2011-05-22 21:53:46
@Midas嗯。你可以调用你喜欢的参数(只要其中一个不存在)。我只是很高兴一些系统管理员被Apache日志弄糊涂了! – lonesomeday 2011-05-22 21:56:19
jQuery中的ajax库使用_(下划线)作为强制“无缓存”的变量参数的名称。请参阅http://stackoverflow.com/questions/168963/stop-jquery-load-response-from-being-cached/168977#168977 – Cheeso 2011-05-23 01:34:33