Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 如何在发送AJAX请求之前清除浏览器缓存_Php_Html_Jquery_Caching - Fatal编程技术网

Php 如何在发送AJAX请求之前清除浏览器缓存

Php 如何在发送AJAX请求之前清除浏览器缓存,php,html,jquery,caching,Php,Html,Jquery,Caching,我已经挣扎了一段时间了。我向一个PHP脚本发送一个AJAX请求,该脚本修改服务器上的文件名(特别是图像),并生成一个文件列表作为HTML响应。一切正常,文件按原样重命名,但在浏览器中看不到任何更改,因为已重命名为2.jpg的文件1.jpg和现在为1.jpg的文件2.jpg已被缓存,即使已在服务器上重命名,仍显示原始图像 因此,我的问题是如何在发送请求之前清除缓存,我已经尝试手动添加时间戳,并通过$.ajaxSetup以及各种php头添加时间戳 我怀疑这些技术不起作用,因为所做的更改只是文件名,而

我已经挣扎了一段时间了。我向一个PHP脚本发送一个AJAX请求,该脚本修改服务器上的文件名(特别是图像),并生成一个文件列表作为HTML响应。一切正常,文件按原样重命名,但在浏览器中看不到任何更改,因为已重命名为2.jpg的文件1.jpg和现在为1.jpg的文件2.jpg已被缓存,即使已在服务器上重命名,仍显示原始图像

因此,我的问题是如何在发送请求之前清除缓存,我已经尝试手动添加时间戳,并通过$.ajaxSetup以及各种php头添加时间戳


我怀疑这些技术不起作用,因为所做的更改只是文件名,而不是PHP脚本生成的HTML响应。

您是否尝试过这样做

$.ajax({
       url: url,
       data: inputs + '&ran=' + Math.rand(),
    )};


我希望这会对您有所帮助。

使用JS动态地将
img
标记的源url更改为类似
1.jpg?234235225
,理论上,它应该使用新图像从服务器中提取新图像,因为
src
中的随机数。Thanx tradyblix正是我所需要的。真棒的小把戏!确保每次数字都随机化(或任何奇怪的东西)(不要硬编码),这样每次你这样做时,它就会“杀死缓存”并强制从服务器请求图像。
$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});