我正在编写一个上传和裁剪图像的脚本。它是基于jquery/ajax的。这个想法是在图片上传后,它被显示在div中,而不需要重新加载页面。这是通过jquery ajax函数完成的。然后,每个图像都有一个“裁剪”按钮,当单击该按钮时,将打开一个简单模式的窗口,用户可以在其中裁剪和保存图像。保存后,模式窗口将关闭,并通过使用ajax再次加载div的内容来刷新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);
}
});}发布于 2012-02-01 08:15:26
在任何情况下,您都可以尝试以不同的名称保存裁剪后的图像(例如,在末尾追加几个数字)。然后,在刷新div时,指定新的镜像名称。
发布于 2012-05-22 20:22:54
我遇到过类似的情况,ajax返回的内容没有刷新,我最终向返回的内容添加了唯一的字符串,这似乎起到了作用……只是为了使返回的内容与可能缓存的内容不同,jQuery已经向请求添加了一个唯一的变量值,但这在我的情况下没有什么不同。
发布于 2014-02-20 04:48:29
这对我很有效(在php函数中):
$time =日期(‘H-I-s’);
回显"“
它不会更改文件名,但会使镜像src唯一,并防止缓存问题。
https://stackoverflow.com/questions/9088853
复制相似问题