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

如何让指定XMLHttpRequest GET请求跳过浏览器缓存获取最新资源

解决方案

最可靠且符合你要求的实现方式是给请求URL追加唯一的随机查询参数,利用浏览器缓存按完整URL命中的规则绕开已有缓存:

const xmlHttp = new XMLHttpRequest();
// 追加时间戳作为唯一参数,确保每次强制刷新的请求URL都不重复
const requestUrl = `myapi/getThing?_t=${Date.now()}`;
xmlHttp.open("GET", requestUrl, true);
// 其他请求逻辑保持不变

方案说明

  • 不需要修改服务端任何配置,绝大多数服务端接口会自动忽略无业务含义的查询参数,不会影响接口正常返回
  • 不会破坏原有缓存策略:普通场景下请求仍使用原URL即可正常享受服务端设置的缓存,仅在你确认需要拉取最新内容时追加该参数
  • 全浏览器兼容,不存在适配问题

为什么你之前设置Cache-Control请求头不生效?

因为服务端返回的响应头包含immutable指令,该指令的规则明确要求:只要缓存资源还在max-age有效期内,浏览器会直接忽略客户端发起的任何缓存校验、跳过缓存的请求,直接返回本地缓存内容,因此你设置的请求头不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 16:48:02