【发布时间】:2012-04-17 17:27:00
【问题描述】:
我只是需要一些关于这是否明智的建议。我主要通过 AJAX 请求加载我的站点数据。为了节省加载时间和服务器调用,我将所有加载到全局对象的数据保存起来,如果用户再次选择该页面,则只回收这些数据。
我想知道将整个网站缓存到一个对象上是否明智,例如:
var page = ['level 1','level 2','level 3','level 4'];
var mysiteobj = [];
if (page[0] == 'level 1')
if (!mysiteobj['level 1'])
$.ajax(/*load data*/).done(function(data){ mysiteobj['level 1'] = data; /*display data*/ });
else /*display mysiteobj['level 1']*/
if (page[1] == 'level 2')
if (!mysiteobj['level 1']['level 2'])
$.ajax(/*load data*/).done(function(data){ mysiteobj['level 1']['level 2'] = data; /*display data*/ });
else /*display mysiteobj['level 1']['level 2']*/
...etc
...等等。为了澄清这个相当奇怪的符号,“级别 1”是用户可能查找的所有地理区域,“级别 2”是用户可能查看的地理区域中的所有部门,“级别 3”是部门中的类别在地理区域中,并说“4 级”将是地理区域中部门类别中列出的产品或条目。
现在,我的方法是,我有一个包含所有地理区域的对象,每次加载新地理区域时,第二个对象都会被新部门列表覆盖,第三个对象包含我的类别,第四个对象包含我的列表/产品.
如果有道理,请指教。我想简化的问题是,在对象变得笨拙并阻塞浏览器之前,您可以制作多大的对象?
【问题讨论】:
标签: javascript jquery ajax object