2

我正在尝试使用图像列表来实现 Jcrop。目前,当您单击要裁剪的链接时,灯箱会加载带有图像和所有裁剪工具的 ajax 调用,并且一切正常。我已经测试了数据库中的几个图像,一切看起来都很好。

但是,一旦我裁剪图像并且灯箱关闭,如果我再次尝试裁剪图像,它仍然向我显示原始图像,而不是新裁剪的图像。jCrop 中是否有缓存图像的东西,如果有,我可以将其关闭,以便每次通过 ajax 调用它时都会提取新图像?(刷新页面确实将图像更新为正确的图像,但这会破坏我在此页面上的其他一些功能。)

提前致谢!

4

3 回答 3

0

该图像可能保存在浏览器的缓存中。这可以通过服务器端的 Cache-Control 标头来避免:

Cache-Control: no-cache
Cache-Control: no-store
Cache-Control: max-age=0

无论如何,这将阻止缓存。

于 2010-10-10T21:30:26.410 回答
0

我建议在来自服务器的图像数据发生更改时更改 URL - 否则您将多次遇到缓存问题。缓存控制是不够的——一些浏览器会忽略该指令。

我不确定您正在运行什么服务器端平台,但如果它是 Windows/IIS ,这是一个简单的解决方案

于 2011-06-12T22:24:07.380 回答
0

我也面临同样的缓存问题。我在 ajax 上传后使用了 colorbox/fancybox 裁剪窗口。但是如果我选择另一个图像,也会有相同的图像。但是当我裁剪图像时,它会裁剪正确的图像,但裁剪窗口中显示的图像是旧的。

我花了很多时间来解决这个问题。您只需要随机更改图像名称,这将解决 EI 缓存问题,您将始终获得新上传的图像。

问候, 吉图

于 2012-01-27T08:36:41.967 回答