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

本地XAMPP部署PHP应用修改根目录文件后页面不更新的原因及解决咨询

问题原因
  • 浏览器静态资源缓存:默认情况下,JSON、图片这类静态资源会被浏览器自动缓存,只要请求路径完全相同,浏览器会优先读取本地缓存的旧文件,不会向XAMPP服务器发起新请求,因此修改服务端文件后前端拿到的还是旧内容,普通刷新也可能命中缓存。
  • 轮询逻辑存在问题:你当前用for循环批量生成setTimeout的写法,只会在页面加载时一次性排好n次定时任务,全部执行完就会停止,无法实现持续的每10秒轮询效果。
解决方案
  • 添加缓存击穿参数:请求静态资源时在URL末尾追加时间戳这类随机查询参数,让每次请求的路径都有差异,浏览器就会跳过缓存请求最新资源,代码可以修改为如下形式:
// 替换原有的for循环+setTimeout逻辑,用setInterval实现持续轮询
setInterval(() => {
    // 追加时间戳参数破坏缓存
    fetch(`json/imagePathsMappingToCodes.json?t=${Date.now()}`)
    .then(resp => resp.json())
    .then(imagePath => {
        console.log(imagePath);
        // 渲染图片时也需要加同样的时间戳参数,示例:
        // const img = new Image()
        // img.src = `${你的图片路径}?t=${Date.now()}`
    })
}, 10000)
  • 服务端配置禁用静态资源缓存:在XAMPP站点的JSON、图片存放目录下新建.htaccess文件,添加以下配置让Apache返回资源时携带禁用缓存的响应头:
<FilesMatch "\.(json|jpg|jpeg|png|webp|gif)$">
Header set Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
Header set Pragma "no-cache"
Header set Expires "0"
</FilesMatch>
  • 强制刷新验证:修改文件后如果需要立刻验证效果,可以使用强制刷新快捷键(Windows:Ctrl+F5,Mac:Cmd+Shift+R),直接跳过本地缓存拉取服务端最新资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:24:03