0
喜,所以我想建立一個緩存系統緩存的jQuery的JSON文件
這種工作方式是,當一個選項卡上的用戶點擊它加載的JSON該選項卡 - 所有工程確定開從如果用戶多次單擊它選項卡上它並取多次json - 不理想
所以我的想法是建立一個緩存,以便在第一次單擊一個選項卡後,該json被添加到緩存並在下一次從那裏打電話。
這個問題真的在哪裏初始化緩存數組,以便函數可以添加到它。
顯然,我現在擁有它的意思是它的未定義,當它試圖調用getData函數。誰能幫忙?這裏是代碼
$(function() {
var cache = {};
$(".nav-tabs li a").on("click", function(){
var tabID = $(this).attr("href");
getData(tabID, applicationID);
});
});
function getData(tabID, applicationID){
tab = tabID.replace('#', '');
var promise = this.cache[tab];
if (!promise) {
promise = getJSON(tab, applicationID);
this.cache[name] = promise;
}
$.when(promise).then(function(result) {
//do something!
});
function getJSON (name, applicationID) {
var promise = $.ajax({
url: 'data/' + name + '.json',
method: 'get',
dataType: 'json',
data: {appID:applicationID}
});
return promise;
}
你可以使用jquery ui標籤插件嗎? –