我正在制作一个上传和裁剪图片的脚本。它是基于jquery / ajax的。这个想法是在上传图像之后,它在div中显示而不重新加载页面。这是用jquery ajax函数完成的。然后每个图像都有一个“裁剪”按钮,单击该按钮可打开一个简单模式窗口,在该窗口中可以裁剪并保存图像。保存后,模态窗口关闭并通过使用ajax再次加载内容来刷新div。这是我遇到了问题。 Firefox出于某种原因在屏幕上保留旧图像,并且不会刷新它以显示它的裁剪版本。
我已经从load()函数更改为ajax()函数(使用cashe:false param)。我添加了php no-cache标头,我还将随机字符串添加到调用的url中。在Firefox上没有任何帮助(在Chrome上没问题)
有什么想法吗?
代码:
function load_posted_images(){
$.ajax({
url: "/ajax/ad_wizard_images.php?uid=1&rand=" + new Date().getTime(),
type: "POST",
cache: false,
success: function(data) {
$('#image-list').html(data);
}
});}
答案 0 :(得分:1)
在任何情况下,您都可以尝试以不同的名称保存裁剪的图像(例如,在末尾添加几个数字)。然后,当您刷新div时,指定新的图像名称。
答案 1 :(得分:0)
您是否有机会发布用于刷新图像的代码?
你不能只改变图像上的src属性,以保存使用ajax获取图像吗?
$('img').attr('src', $('img').attr('src')+new Date().getTime();)
答案 2 :(得分:0)
我一直处于类似情况,ajax返回的内容没有刷新,我最终为返回的内容添加了唯一的字符串,这似乎是诀窍....只是为了使返回的内容与可能的内容不同在缓存时,jQuery已经为请求添加了一个唯一的变量值,但这对我的情况没有任何影响。
答案 3 :(得分:0)
这对我有用(在php函数中):
$ time = date('H-i-s');
echo“”
它不会更改文件名但会使图像src唯一并阻止缓存问题。