AJAX請求后台時會自動緩存,客戶端發起請求首先請求緩存,第一次請求即由緩存再請求服務器,返回數據時同樣先返回到緩存再展示再客戶端。但是如果數據要求隨時性呢,數據變化頻率高呢?那么如何不讓ajax設置緩存呢?
主要有兩種方法:
1、在請求url后面加上隨機數或者時間戳:
例如:ajax.open("get","./service.php?"+Math.random()) 這樣每次請求就是不同的請求,每次都要到達服務器。
其實還是都有緩存,只不過每次訪問都是唯一的訪問,就不會訪問到前次訪問。最好是加時間戳,時間戳肯定唯一,隨機數可能重復。
2、在服務器端設置header頭部信息:
header{"Cache-Control:no-cache"}
herder{"Pragma:no-cache"}
header{"Expires:-1"}
這樣就不會再將服務器端返回的數據進行緩存了。