HTTP缓存标头

时间:2011-02-13 21:36:25

标签: javascript http http-headers

我有一些javascript代码可以在网页中动态加载图片:

imageSrc = pid.toString() + '/' + imageName + '/' + num.toString();
//imageSrc = pid.toString() + '/' + imageName; 

第一行工作正常,但使用第二行会导致图像在加载后不会更改。我使用firebug从服务器捕获标题:

Content-Length  43
Allow   GET, HEAD
Expires Sun, 28 Jan 2007 00:00:00 GMT
Server  CherryPy/3.1.2
Pragma  no-cache
Cache-Control   no-cache, must-revalidate
Date    Sun, 13 Feb 2011 21:12:31 GMT
Content-Type    image/x-png

我还添加了一行<meta http-equiv="Cache-control" content="no-cache"> 到网页的负责人。

问题出现在firefox,IE和chrome中,所以我认为它必须是一个基本问题,而不是浏览器问题。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

击败缓存的典型方法是附加搜索字符串(请注意PNG后的问号):

img.src = path +"/"+ name + ".png?" + (new Date().getTime());
顺便说一句,你不需要做.toString(),因为将变量添加到一起的行为使它们成为一个字符串:

"a" + 1 + 1; // "a11"