【问题标题】:jQuery getting new result of load() functionjQuery 获得 load() 函数的新结果
【发布时间】:2017-05-02 14:55:14
【问题描述】:

我在 index.html

中有这段代码
$(document).ready(function() {

$('#generate').click(function() {

//$("#results").empty();
$("#results").html("");

$("#results").load("generate.php"); 

});

});

另外,我在 generate.php 中有这段代码:

<?php

$img1 =  "<img src='logo_0.png' width='350px' height='350x' /><br />";
$img2 =  "<img src='logo_1.png' width='350px' height='350x' /><br />";

echo $img1.$img2;

?>

如果我用不同的图像替换这些图像(手动复制和粘贴但保留它们的名称),我仍然会得到相同的图像,

我认为这是因为 dom 对象已经创建,所以我尝试了

$("#results").empty();

$("#results").html("");

但图像不会改变,

谢谢

【问题讨论】:

  • 如果重新加载页面会发生什么?如果您真的没有更改名称,则浏览器可能只是重新显示原始图像的缓存副本。
  • 对我来说听起来像是一个缓存问题。在 chrome 上,如果您打开了控制台(右键单击并转到检查元素),那么您可以右键单击重新加载按钮并选择“空缓存和硬重新加载”,如果您遇到缓存问题,这是我知道的最好方法在 Chrome 上清除它
  • @PaulRoub,重新加载页面仍然需要您再次按下生成按钮,我的意思是我可以“重新加载”然后按下“生成”,这样就可以了。问题是,一旦您按下“生成”按钮,而无需每次都“加载”页面,我正在寻找,
  • @victor,我也试过 Firefox,我得到了和 Chrome 一样的结果,所以似乎应该在代码中做点什么
  • 缓存最有可能,在图像后面生成随机数,例如。 image.jpg?v=

标签: javascript php jquery load


【解决方案1】:

我打算添加评论,但没有足够的声誉。如何将当前日期/时间添加到 URL 的末尾以使其唯一,以防止浏览器从缓存中加载?

您还可以使用 $.ajax() 函数来控制缓存或关闭所有请求。有关详细信息,请参阅this 答案。

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多