强制浏览器下载文件而不是缓存

时间:2017-06-29 21:10:40

标签: javascript jsp

我有一个javascript文件,它在内部调用一个函数来加载一个xml文件。

$(document).ready(function()
 {
    urlVal ="web/help.xml";
  }


The javaxcript is versioned so that the browser always loads it instead of 
caching it
    "./js/help_min.js?ver=${verNumber}"

我面临的问题是浏览器下载了最新的js文件,但缓存了js文件中包含的help.xml。     是否有一种方法,浏览器将始终加载最新的“hepl.xml”而不是缓存它。

1 个答案:

答案 0 :(得分:1)

正确的应用是修复后端以发送标题告诉浏览器不要缓存数据(参见How to control web page caching, across all browsers?)。但如果你不能这样做,每次都要求独特的请求,即

"./js/help_min.js?ver=${verNumber}&random=${something_random}"

其中something_random的{​​{1}}值可以是当前时间戳(以毫秒为单位)。这样,您的请求将与每个请求上的缓存条目强制提取不匹配。

PS:你似乎也有设计缺陷,因为使用相同random的逻辑应返回相同的数据,因此缓存非常受欢迎,以减少流量并加快加载时间。