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

AJAX提交数据至PHP后,如何在success函数中重新加载目标URL?window.location.reload()无效

解决AJAX成功后无法重新加载目标PHP页面的问题

看起来你遇到的是个很常见的小坑——AJAX提交数据成功后,想用window.location.reload()重新加载course.php但没效果,我来帮你理清楚原因和解决方案:

核心原因

window.location.reload()的作用是刷新当前浏览器正在显示的页面,而不是你AJAX请求的目标PHP页面。举个例子:如果当前你在index.php页面发起AJAX请求到course.php,那reload()只会刷新index.php,自然看不到course.php的更新内容。

具体解决方案

根据你的实际场景,选下面对应的方法就行:

1. 直接跳转到目标PHP页面(最常用)

如果你的需求是跳转到course.php页面查看更新后的内容,直接用window.location.href指定目标URL即可,这会让浏览器重新请求该页面的最新数据:

success: function(){
    window.location.href = '../app/course.php';
}

2. 当前页面就是course.php?解决缓存问题

如果当前页面本身就是course.php,但reload()后没看到更新,大概率是浏览器缓存了旧页面。这时候可以强制浏览器从服务器重新拉取:

success: function(){
    // 传递true参数,强制绕过缓存刷新
    window.location.reload(true);
}

3. 极端情况:彻底避免缓存(可选)

如果上面的方法还是有缓存问题,可以在URL后加一个唯一的随机参数(比如时间戳),让浏览器认为这是一个全新的请求:

success: function(){
    // 用时间戳生成唯一参数,确保请求不被缓存
    var targetUrl = '../app/course.php?' + new Date().getTime();
    window.location.href = targetUrl;
}

额外提醒

如果你的course.php页面需要依赖某些URL参数(比如之前的编辑ID),记得在跳转的时候把必要的参数带上,比如:

success: function(){
    window.location.href = '../app/course.php?editingid=' + rowId;
}

内容的提问来源于stack exchange,提问作者J.Pei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:54:21