2012-05-29 110 views
0

我正在開發HTML5移動應用程序。我想要使​​用jQuery緩存特定的JSON請求10天。我嘗試在請求上設置cache : true。但我無法在此指定10天。這可能嗎?或者我是否需要使用HTML5本地存儲。jQuery緩存JSON請求

回答

2

您可以將json數據與日期一起存儲起來,以便在調用服務器進行更新之前查找緩存的數據。

您可以在html5中使用本地存儲API。

有關如何使用它的一些想法,你可以看看這個問題。

Storing Objects in HTML5 localStorage

要知道這是否會在你的目標工作的移動設備,你可以看看這個:

http://caniuse.com/#feat=namevalue-storage

所以,你可以這樣做:

var dtDateTime = new Date(); 
var intDateTime = dtDateTime.getTime(); 
var objJSON = {}; 
objJSON.datetime = intDateTime; 
objJSON.data = myjson; 
localStorage.setItem('cachedObject', JSON.stringify(objJSON)); 

然後您可以檢索該對象並檢查日期並決定是否需要重新加載數據。

我還沒有測試過這個,但它應該接近。

0

是因爲你應該使用domCache: true根據doc

+0

據我瞭解domCache緩存頁面和內容。不是ajax請求。 –

+0

沒錯。對不起,我誤解了你的意圖。 –

2

設置cache: true應該強制瀏覽器遵循HTTP響應中指定的指示。要指定緩存響應10天,您可以從服務器端添加此HTTP標頭:Cache-Control: max-age=864000

+0

好點。我會試試這個。 –