Safari 快取$.ajax 在iOS 6 上的結果:分析
自iOS 6 發布以來,人們開始擔心Safari 的Web 視圖快取$ .ajax 呼叫。儘管明確地將快取屬性設為“false”,但意外的快取行為仍然存在,特別是對於具有始終接收相同輸入參數的靜態函數簽署的 POST 方法。
根本原因
調查顯示,iOS 6 上的Safari 會快取缺少Cache-Control 標頭或包含「Cache-Control: max-age=0」的POST 請求。這與其他尊重 POST 回應不可緩存性的瀏覽器不同。
解決方法
要防止全域緩存,唯一有效的解決方案是設定「Cache-Control」:無快取。 」此標頭明確不允許快取。
範例
或者,將此行為僅限於POST 請求:
附加說明
Header set Cache-Control "no-cache"
值得注意的是,快取僅在POST請求參數和URL保持不變時才會發生。可以規避快取問題。
以上是為什麼 iOS 6 上的 Safari 會快取 $.ajax POST 請求,即使在 cache=false 的情況下?的詳細內容。更多資訊請關注PHP中文網其他相關文章!