Ajax中請求被快取的問題

2022-03-24 19:41:26 字數 727 閱讀 9957

ajax中請求被快取的問題 

在ajax開發中,會遇到瀏覽器快取內容的問題,比如,某個元素註冊了滑鼠事件(onmouseover),事件觸發後會通過 xmlhttprequest到伺服器獲取內容,在不重新整理頁面的情況下,瀏覽器會快取第一次請求的內容,服務端更新後瀏覽器仍然顯示第一次的內容。 

通常,這種請求都是xmlhttprequest發起的get請求。根據 http 規範,get 用於資訊獲取,而且應該是冪等的。也就是說,當使用相同的url重複get請求會返回預期的相同結果時,get方法才是適用的。當對乙個請求有***的時候(例如,提交資料註冊新使用者時),應該使用post請求而不是get。所以瀏覽器會對get請求做快取處理。 

解決辦法: 

一. get請求url後附加字串,讓伺服器認為不是相同的請求。 

例 "" + new date().gettime() 

二. 在ajax傳送請求前加上 xmlhttprequest.setrequestheader("if-modified-since","0") 

三. 在ajax傳送請求前加上 xmlhttprequest.setrequestheader("cache-control","no-cache"); 

四. 服務端響應請求時加 header("cache-control: no-cache, must-revalidate"); (php) 

五. 使用post代替get,瀏覽器不會對post做快取

**:司徒正美

ajax請求快取問題

問題 ie中如果xmlhttprequest提交的url與歷史一樣則使用快取,根本不向伺服器端提交。因此無法取到剛提交的資料。解決方法 為了讓提交每次都向伺服器端傳送請求,而不是使用快取。在url中加時間戳 var url baseurl tamp new date gettime 或者加隨機數 v...

Ajax的快取問題

因為一直對ajax都有一種望而生畏的感覺,所以一直也沒仔細的研究過,好多事情都一樣當你一開始覺得很難的時候它的難度就會比你預想的還難.大概這就是心理作用的影響吧.今天要做乙個無重新整理驗證使用者名稱是否重複的功能不得不用ajax了所以也就硬著頭皮看了一下,本來看的是jquery的ajax的使用,但是...

ajax請求問題。

臨近畢業了還要幹活。稍微有點悲催。今天寫 遇到了乙個問題。用for迴圈ajax請求後台action。在firebug裡看到的請求引數是正確的。兩個請求的引數乙個是0,乙個是1。但是執行action的時候,執行的兩次卻都是執行的同乙個引數。比如都是1或者都是0。這個問題很奇怪。到目前還沒解決。在aja...