Ajax:在其他div中替换容器与load的内容?

时间:2013-10-06 16:28:09

标签: javascript jquery ajax

我正在尝试创建一个ajax网站。直观的方式似乎是使用jquery .html()方法用新内容替换容器的内容。

但是考虑到用户可能再次访问A然后是B然后再访问A,则重新加载A的第二次操作似乎是不必要的。

另一种方法是在一个新的div中加载ajax内容并以某种方式隐藏原始内容。然而,对我来说这似乎很简单,我想知道是否有一个好的框架或插件来更好地处理这个问题。在这种情况下是否存在性能问题,因为dom元素不断增长?

2 个答案:

答案 0 :(得分:1)

您可以缓存Ajax请求,因此每当您需要内容时,客户端javascript都不会请求服务器。例如。在jQuery中:

$.ajaxSetup({ cache: true });

缓存请求实际上是jQuery中的默认设置,因此它始终缓存响应。

答案 1 :(得分:0)

在我们使用jQuery时,Google Chrome似乎没有缓存ajax内容,但IE10确实默认使用。

为了避免动态内容的双重加载,我们对div id =“mydiv”使用这样的原始方法:

if($("#mydiv").get(0).loaded)
{
}
else
{
  $("#mydiv").get(0).loaded = true;
  //
  // here we load ajax content for mydiv:
  //
  ...
}

已加载是用户添加的mydiv持久DOM元素对象的JavaScript属性,而不是临时jQuery对象。