ajax中cache緩存的使用:
問題描述:
在IE、360瀏覽器上提交表單后,保存后的內容不回顯(依然顯示空或者之前的內容)。
原因:
回顯內容是使用ajax的get方式的請求查詢數據,ajax的cache默認值為true:使用緩存,這個時候讀取的數據是緩存中的數據而不是最新的數據。
解決辦法:
有多種,這里用了一個通用的方法:
初始化頁面的js中加入:
如果是使用jquery,可以在開始的時候設置,清除緩存,$.ajaxSetup({cache:false});。
分析:
1.ajax緩存只對GET方式的請求有效,而瀏覽器認為POST請求提交表單內容必定有變化,所以不走緩存。
2.在默認的情況下,一般發送ajaxget請求,IE瀏覽器第一次會向服務器端請求,獲取最新數據,如果地址和參數不變,第二次及以后再發送請求,
它就默認獲取的緩存數據,這樣的問題是ie中很常見的問題,一般POST則 認為是一個 變動性 訪問 (瀏覽器 認為 POST的提交 必定是 有改變的)