You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现重定向后自动刷新目标页面的方法求助

解决PHP删除后重定向页面不自动更新的问题

问题原因

当前用JavaScript的window.location跳转时,浏览器可能缓存了new_card.php的页面内容,导致删除后看不到最新结果,需要手动刷新。下面提供两种可靠的解决方法:

方案一:改用PHP服务器端重定向(推荐)

直接在PHP中用header()函数实现重定向,这是服务器端跳转,会强制浏览器重新请求目标页面,彻底避免缓存问题。

修改delete_Cards_New.php代码:

<?php
include '../connect.php';

$sql = "DELETE FROM the_table_new
        WHERE id_img_et_contenu = :id_img_et_contenu";

$request = $bdd->prepare($sql);
$request->bindParam(':id_img_et_contenu', $_GET['id'], PDO::PARAM_INT);
$request->execute();

// 服务器端重定向,必须在任何输出(HTML/空格)之前调用
header("Location: ../new_card.php");
exit; // 终止后续代码执行,确保跳转生效
?>

⚠️注意:header()函数必须在**任何输出内容(包括PHP标签外的空格、HTML代码)**之前调用,否则会报错。

方案二:优化JavaScript重定向(强制刷新)

如果必须保留JS跳转,可以通过添加随机参数或强制刷新的方式,让浏览器重新获取页面:

方法1:添加随机时间戳参数

window.location = "../new_card.php?t=" + new Date().getTime();

通过给URL添加唯一的时间戳,让浏览器认为是新请求,避免使用缓存内容。

方法2:跳转后强制刷新

window.location.replace("../new_card.php");
setTimeout(() => {
    window.location.reload(true); // true表示强制从服务器拉取最新数据
}, 100);

额外优化:禁止new_card.php缓存

在new_card.php的最顶部添加禁止缓存的响应头,确保每次访问都获取最新数据:

<?php
// 禁止浏览器和代理缓存页面
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
?>

内容的提问来源于stack exchange,提问作者user16995764

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 02:10:57