2009-01-15 128 views
1

您在页面上有多个链接。当点击时,一个div通过ajax得到更新。更新的div包含来自数据库的数据。ajax每次或一次加载所有内容

根据这个场景,每次点击一个链接,日期就从数据库中抓取并注入到div中。

你现在;

1)支持这种情况或... 2)会加载每个链接的内容在几个隐藏的divs和显示每个链接点击相关的div。这种方式的阿贾克斯呼叫只被称为一次..

回答

2

取决于...是内容将改变?如果是的话......每次都有Ajax。 如果不是? Ajax一次(或零次,如果可能的话)

+0

是的,内容是动态的,但只有用户可以改变它通过ajax提交给数据库。但即使如此,这并不妨碍我一次加载所有内容。 – 2009-01-15 21:43:50

2

如果您正在检索的数据定期更改并且需要更新,我会选择选项1,如果没有,我会选择选项2,并选择减少网络流量并提高性能。

你甚至可以做出选项3并在页面加载时渲染数据(隐藏的div),这样你就不需要ajax了。

2

如果你正在考虑2,为什么不把页面加载到那些隐藏的div中呢?

1

如果数据可能在初始页面加载和用户单击链接之间发生变化 - 请使用ajax。
如果您只是在紧凑的空间中展示大量静态数据 - 在页面加载和隐藏/显示时加载它。

您想避免没有javascript的人丢失您的内容。例如搜索引擎。 ajax仍然比DOM操作慢。

2

除了取决于在div中加载的内容改变的频率之外,还需要考虑每个div应该包含多少数据。例如,考虑一下你有10个div,每个div都包含相当大量的数据。现在,在初始页面加载期间加载它或者在第一次链接点击加载它时,如果平均用户将仅点击几个链接,那么将是低效的。鉴于这种借口,我认为主要有2点,你需要决定哪些选项可以考虑选择加载的div的内容:

  1. 无论div的内容会经常改变
  2. 无论不少的数据需要加载在格

如果1或2的答案是肯定的,我会建议使用AJAX加载“唯一”该div的内容。否则,你可以加载所有的div在初始页面加载本身