IE瀏覽器緩存問題解決方法整理
一、IE瀏覽器緩存的內容分析:
IE瀏覽器會緩存網頁中的GET和XHR的內容,並且在IE瀏覽器中如果請求方式是get方式的話,IE瀏覽器會進行識別,如果該get請求的url是第一次請求的話,會請求項目的后台,從數據庫中獲取數據,如果該get請求的url不是第一次請求的話,那么該url就不會請求項目后台,IE瀏覽器會直接從緩存中拿到上次該url獲取的數據,無論是什么插件的get方式請求,IE瀏覽器都會這樣進行處理的;
這是一個非常嚴重的問題,坑死人了。。。
二、IE瀏覽器中各種插件或請求獲取的數據與數據庫的數據不同步的原因:
各種插件或請求如果是利用get方式請求的時候,在IE瀏覽器中都會按照IE瀏覽器緩存機制進行處理的,因此會產生網頁中的數據與數據庫的數據不同步的現象;
三、解決IE瀏覽器中顯示數據與數據庫的數據不同步的方法:
方法一:提交方式是get方式,但是在傳遞的參數中添加一個隨機數或當前時間戳的參數,從而保證每次url請求唯一性,從而解決在IE瀏覽器中從數據庫中獲取數據;
方法二:提交方式修改為post方法,這樣就不會出現這樣的問題了;
四、bootstrap-table插件實例解決過程:
1、問題描述:bootstrap-table插件在使用IE瀏覽器打開時,使用增加、修改、刪除等功能,操作成功后,網頁中顯示的數據是操作之前的,但是數據庫中的數據已經發生了改變,網頁中的數據不能夠與數據庫數據保持一致;
2、問題思路:該問題還是因為IE瀏覽器中對get方法請求的處理方式和IE瀏覽器中的緩存問題,具體原因見上述一和二的分析;
3、解決方法:
方法一:
bootstrap-table插件提交方式是get方式,但是在傳遞的參數中添加一個隨機數或當前時間戳的參數(此參數在后台是沒有用的,只是用來保證每次請求的url唯一性);

方法二:
bootstrap-table插件提交方式是post方式,並且在bootstrap-table中添加一個配置信息:contentType : "application/x-www-form-urlencoded";

通過以上兩種方法中的任意一種,都可以解決IE瀏覽器中因為緩存問題,而導致bootstrap-table插件中網頁的數據與數據庫數據不一致的問題;
IE瀏覽器的緩存問題非常的嚴重,網上也沒有一篇完整的解決思路和文檔,特此寫下解決方法,供自己以后查看。。。
IE瀏覽器緩存坑死了。。。
