location.reload()用于重新加载当前页面;不传参时可能从缓存加载,传true可强制从服务器获取(但受HTTP缓存策略影响);需避免在初始化时无条件调用以防死循环。

location.reload() 是 JavaScript 中用于重新加载当前页面的方法,它会像用户点击浏览器刷新按钮一样,重新请求并渲染当前 URL 的页面。
基本用法:简单刷新
直接调用 location.reload() 即可触发刷新:
- 不传参数时,默认行为是**可能从缓存加载资源**(取决于浏览器和响应头)
- 等价于 window.location.reload(),因为
location是window的属性
强制从服务器重新获取(绕过缓存)
传入 false 参数不会强制刷新;真正起作用的是传入 true:
- location.reload(true):告诉浏览器**忽略缓存,重新向服务器发起完整请求**(包括 HTML、JS、CSS 等)
- 注意:现代浏览器中该参数的兼容性良好,但部分新版本(如 Chrome 85+)已开始忽略此参数,实际是否绕过缓存还受 HTTP 缓存策略(如
Cache-Control)影响
常见使用场景与注意事项
适合在以下情况主动调用:
立即学习“Java免费学习笔记(深入)”;
- 用户提交表单后需重置页面状态(如后台返回成功且需清空输入)
- 检测到关键资源更新(例如通过 service worker 检测到新版本 JS),提示用户刷新
- 调试时快速验证修改后的 HTML/JS 是否生效
- 避免重复提交:提交后立即
location.reload()可防止用户刷新导致表单重复提交
⚠️ 注意:不要在页面加载初期(如 DOMContentLoaded 或 load 事件中无条件调用),否则会导致无限刷新循环。
替代方案(更可控)
如果只需更新部分内容,推荐用更轻量的方式:
- 用 fetch + DOM 操作 局部刷新数据区域
- 用 history.replaceState() 更新 URL 而不触发刷新
- 单页应用(SPA)中通常用路由重载或组件重渲染,而非整页 reload


















