gpt4 book ai didi

php - AJAX 不想缓存图片

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:31:35 30 4
gpt4 key购买 nike

我有一个 Web 表单,它采用 C++ 代码,在服务器上编译它,然后输出输出。有问题的 C++ 代码写出一个 BMP 文件,可以在网页上查看。这是通过 AJAX 连接的。我的主要问题是,每当我重新编译程序以更改图像时,除非我刷新页面,否则相关图像不会更改。因此我认为这是一个缓存问题。以下是步骤:

  1. 人输入 C++ 代码
  2. 人按提交
  3. C++代码被发送到compile.php
  4. compile.php 编译程序并显示目录下的所有图片

如果有人在程序中更改图像的颜色并重新提交表单,则提交成功但图像不会改变,除非刷新页面。我在更改输出文件名时验证了这一点,它会创建一个具有正确颜色的新图像,但如果您使用相同的文件名重新编译程序,除非您刷新页面,否则该特定图像不会改变。

我尝试将无缓存 header 放在 PHP 文件的顶部。

<?php
header("Expires: Mon, 26 Jul 1990 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

最佳答案

要解决此问题,您可以尝试在发出 AJAX 请求时禁用 Javascript 库中的缓存。对于 JQuery ,将 cache 设置为 false

另一种解决方案是在发出请求时手动附加缓存清除参数。例如,不是向 compile.php 发出 AJAX 请求,而是向 compile.php?123456 发出请求,其中 123456 是当前时间戳.这应该强制浏览器不使用缓存的拷贝。

关于php - AJAX 不想缓存图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373981/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com