Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery/ajax缓存问题-Firefox赢得';刷新修改后的图像_Php_Jquery_Ajax_Caching - Fatal编程技术网

Php Jquery/ajax缓存问题-Firefox赢得';刷新修改后的图像

Php Jquery/ajax缓存问题-Firefox赢得';刷新修改后的图像,php,jquery,ajax,caching,Php,Jquery,Ajax,Caching,我正在编写一个脚本,可以上传和裁剪图像。它是基于jquery/ajax的。这个想法是,上传图像后,它将显示在一个div中,而无需重新加载页面。这是通过jqueryajax函数完成的。然后,每个图像都有一个“裁剪”按钮,单击该按钮将打开一个简单的模式窗口,可以在其中裁剪和保存图像。保存后,模态窗口关闭并通过使用ajax再次加载div的内容来刷新div。这是我遇到的问题。出于某种原因,Firefox会在屏幕上保留旧图像,不会刷新以显示其裁剪版本 我已经将load()函数更改为ajax()函数(使用c

我正在编写一个脚本,可以上传和裁剪图像。它是基于jquery/ajax的。这个想法是,上传图像后,它将显示在一个div中,而无需重新加载页面。这是通过jqueryajax函数完成的。然后,每个图像都有一个“裁剪”按钮,单击该按钮将打开一个简单的模式窗口,可以在其中裁剪和保存图像。保存后,模态窗口关闭并通过使用ajax再次加载div的内容来刷新div。这是我遇到的问题。出于某种原因,Firefox会在屏幕上保留旧图像,不会刷新以显示其裁剪版本

我已经将load()函数更改为ajax()函数(使用cashe:false参数)。我添加了php无缓存头,还向调用的url添加了随机字符串。在Firefox上没有任何帮助(在chrome上没有问题)

有什么想法吗

代码:

您是否有可能发布用于刷新图像的代码

您不能只更改图像上的src属性,以避免使用ajax获取图像吗

$('img').attr('src', $('img').attr('src')+new Date().getTime();)
您是否有可能发布用于刷新图像的代码

您不能只更改图像上的src属性,以避免使用ajax获取图像吗

$('img').attr('src', $('img').attr('src')+new Date().getTime();)

在任何情况下,您都可以尝试用其他名称保存裁剪后的图像(例如,在末尾附加几个数字)。然后在刷新div时,指定新的图像名称。

在任何情况下,您都可以尝试用其他名称保存裁剪后的图像(例如,在末尾附加几个数字)。然后在刷新div时,指定新的图像名称。

我也遇到过类似的情况,ajax返回的内容没有刷新,我最终向返回的内容添加了唯一的字符串,这似乎起到了作用。。。。为了使返回的内容不同于可能缓存的内容,jQuery已经向请求添加了一个唯一的变量值,但这对我的情况没有影响。

我也遇到过类似的情况,ajax返回的内容没有刷新,我最终向返回的内容添加了唯一的字符串,这似乎起到了作用。。。。为了使返回的内容不同于可能缓存的内容,jQuery已经向请求添加了一个唯一的变量值,但这对我的情况没有任何影响。

这对我很有效(在php函数中):

$time=日期('H-i-s')

回声“”

它不会更改文件名,但会使图像src唯一并防止缓存问题

这对我很有用(在php函数中):

$time=日期('H-i-s')

回声“”



它不会更改文件名,但会使图像src唯一并防止缓存问题

您可以发布您认为是罪魁祸首的代码吗?如果您在AJAX请求中设置了
cache:false
,那么jQuery将自动将当前时间戳附加到URL的末尾,您和jQuery不必这样做(只是一个注释)。您发布的代码似乎没有任何问题,您可以发布PHP代码吗?另外,当您调用
/ajax/ad_wizard\u images.PHP
时,PHP是否仍在裁剪图像?如果可能的话,可以尝试在AJAX调用中添加延迟,给PHP一些喘息的空间来进行计算。图像裁剪也可以通过AJAX调用,我会在“成功”时刷新图像列表。所以,是的,图像在重新加载该div之前被裁剪。正如我提到的,问题在chrome中不存在,我处于相同的情况,但我不能更改文件名,因为我需要覆盖文件,并且它们需要有完全相同的名称。。。那么你找到了什么“真正”的解决方案了吗?你能发布你认为是罪魁祸首的代码吗?如果你在AJAX请求中设置了
cache:false
,那么jQuery将自动将当前时间戳附加到URL的末尾,你和jQuery不必这样做(只是一个注释)。您发布的代码似乎没有任何问题,您可以发布PHP代码吗?另外,当您调用
/ajax/ad_wizard\u images.PHP
时,PHP是否仍在裁剪图像?如果可能的话,可以尝试在AJAX调用中添加延迟,给PHP一些喘息的空间来进行计算。图像裁剪也可以通过AJAX调用,我会在“成功”时刷新图像列表。所以,是的,图像在重新加载该div之前被裁剪。正如我提到的,问题在chrome中不存在,我处于相同的情况,但我不能更改文件名,因为我需要覆盖文件,并且它们需要有完全相同的名称。。。那么你找到了什么“真正”的解决方案了吗?克莱尔,这不仅仅是一个图像,在这个div中最多可以有10个图像,每个图像都可以被删除或裁剪图像列表的div必须作为一个整体重新加载。抱歉-误解了您的意图。是否可以在返回的HTML中追加时间戳?追加时间戳不起作用。我按照user1181615的建议更改了一个图像文件名,这很有效。虽然我仍然会感激知识,如果它;在这种情况下,有可能强制Firefox不缓存Clair,这不仅仅是一个图像,在这个div中最多可以有10个图像,每个图像都可以被额外删除或裁剪图像列表的div必须作为一个整体重新加载。抱歉-误解了您的意图。是否可以在返回的HTML中追加时间戳?追加时间戳不起作用。我按照user1181615的建议更改了一个图像文件名,这很有效。虽然我仍然会感激知识,如果它;It’有可能强制Firefox在这种情况下不缓存是的,这很有效,谢谢!虽然我仍然想知道如何在这样的场景中禁用firefox的缓存,但这很有效,谢谢!虽然我仍然想知道如何在这种情况下禁用firefox缓存,但这更多的是一个评论,而不是一个解决方案