首頁 >web前端 >js教程 >如何防止瀏覽器快取AJAX呼叫結果?

如何防止瀏覽器快取AJAX呼叫結果?

Susan Sarandon
Susan Sarandon原創
2024-11-19 16:50:03367瀏覽

How to Prevent Browser Caching of AJAX Call Results?

防止瀏覽器快取 AJAX 呼叫結果

快取 AJAX 呼叫結果可能會在處理動態內容時帶來挑戰。為了克服這個問題,我們探索了防止瀏覽器快取的替代方法。

利用 jQuery 的快取選項

jQuery 提供了一個簡單的解決方案來停用所有未來 AJAX 請求的快取。透過使用$.ajaxSetup 函數,您可以將快取選項指定為false,從而防止快取任何後續AJAX 呼叫:

$.ajaxSetup({ cache: false });

隨機查詢字串的替代

雖然將唯一的字串附加到QueryString 可以防止緩存,但這可能不是最理想的方法。相反,jQuery 的時間戳方法可以產生一個唯一的時間戳附加到請求URL,確保結果不被快取:

$.ajax({
    url: 'some.php',
    method: 'GET',
    data: { timestamp: $.now() }
});

建立自訂標頭

另一個選項是為請求設定自訂標頭以防止快取。例如,使用下列標頭將指示瀏覽器不要快取回應:

cache-control: no-cache, no-store
pragma: no-cache

HTTP 狀態碼

特定的HTTP 狀態碼也可用於指示不應快取資源。將 Cache-Control 標頭設定為 max-age=0 或 no-store 將阻止快取。

跨域資源共享 (CORS)

當 AJAX 請求時跨域時,CORS 可能會幹擾快取行為。如果您在跨來源請求中遇到快取問題,請考慮使用上述的 Cache-Control 標頭或探索伺服器的 CORS 相關設定。

以上是如何防止瀏覽器快取AJAX呼叫結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn