###關於IE內核的瀏覽器讀取json的問題最近在做一個考試的項目,其中有一個需求是學生意外退出考試後,再次進入考試的時候(考試過程中會自動保存成json存到資料庫)學生上次的做的題目能夠被自動填充。之前測試,一直是用chrome測的,啥問題都沒有,然後前天發現在ie8下麵不可以,然後昨天發現在所有 ...
###關於IE內核的瀏覽器讀取json的問題
最近在做一個考試的項目,其中有一個需求是學生意外退出考試後,再次進入考試的時候(考試過程中會自動保存成json存到資料庫)學生上次的做的題目能夠被自動填充。之前測試,一直是用chrome測的,啥問題都沒有,然後前天發現在ie8下麵不可以,然後昨天發現在所有的IE,瀏覽器下麵都不可以(包括Edge)。
開始我以為是函數沒被執行,然後在函數的最開始console一下發現是可以的,然後把console放在$getjson的函數中,發現問題了,console沒有被執行。問題就出在這裡,$getjson沒有獲取到數據,那為什麼在別的瀏覽器可以。而後度娘之,發現是緩存問題。
一般有三種解決方式:
* $getjson時URL加上一個隨機的參數,確保每次URL都不一樣,我這樣做了發現只有第一次可以,然後就不行了,不知道問題出在哪裡,在研究吧。
* 使用$ajax代替$getjson,然後在參數裡加上cache:false,這樣做了之後是有效的,我就這樣改了。
*服務端禁用緩存。