前言
fetch()
是一种用于发送网络请求的 API,它比传统的 XMLHttpRequest
更加易用和灵活。但是对于需要立即获取最新数据的应用程序来说,浏览器可能会缓存最近的网络请求响应。这意味着如果我们使用默认配置发出多次相同的请求,则会返回缓存的响应而不是最新数据。本文将重点介绍如何在使用 fetch()
时禁用缓存,并调用最新数据。
禁用缓存
要发送非缓存请求,可以采取以下几种方法:
- 添加随机查询参数:通过向请求 URL 添加一个随机字符串或时间戳等唯一标识符,强制浏览器发起新的请求。例如:
----- --- - -------------------------------- ----- ------------ - ---------------------------------------- ----- ---------- - --------------------------- ----------------- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ----------------------
- 设置请求头:另一种方法是设置请求头中的“Cache-Control”字段为“no-cache”,告诉浏览器不要缓存该请求。例如:
----- --- - -------------------------------- ----- ------- - - ------- ------ -------- - ---------------- ---------- - -- ---------- -------- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ----------------------
以上两种方法都可以禁用缓存,具体选择哪种方法取决于您的偏好和应用程序需求。
总结
fetch()
是现代 JavaScript 应用程序中常用的网络请求 API 之一。默认情况下,浏览器可能会缓存最近的网络请求响应。为了确保我们获得最新数据,我们可以通过添加随机查询参数或设置“Cache-Control”请求头来禁用缓存。这些技巧可以帮助我们在使用 fetch()
时更好地控制网络请求行为,从而提高应用程序的性能和可靠性。
参考资料
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/29956