Javascript 使用AJAX拉入页面元素,还是简单地隐藏和显示它们更有效?

Javascript 使用AJAX拉入页面元素,还是简单地隐藏和显示它们更有效?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,在web开发(更具体地说是jQuery)中,我最好先“预加载”我的页面,然后使用jQuery来操作DOM或其他方式 这是一个以下问题: <div id="item1"></div> <div id="item2"></div> <div id="element><!-- AJAX --></div> $("#item1").click(function(e) { $("#element").load(

在web开发(更具体地说是jQuery)中,我最好先“预加载”我的页面,然后使用jQuery来操作DOM或其他方式

这是一个以下问题:

<div id="item1"></div>
<div id="item2"></div>
<div id="element><!-- AJAX --></div>

$("#item1").click(function(e) {
     $("#element").load("ajax/response/containing/HTML_1.php");
});

$("#item2").click(function(e) {
     $("#element").load("ajax/response/containing/HTML_2.php");
});
.
.
.


您是否关心访问者在查看页面源时看到的内容?如果需要,那么使用AJAX

服务器速度有可能成为一个问题吗?在使用AJAX时,可能会有一个非常轻微(但明显)的延迟。如果这是一个问题,请使用隐藏/显示

然而,正如杰克和罗里所指出的,一切都取决于你在做什么。如果通过设置一些数据加载条件,可以更快地呈现初始页面,那么可以使用AJAX

但是,AJAX会给页面带来额外的复杂性。不多,但有一点。未来的开发人员是否能够维护您的页面?(几乎可以肯定,是的)


最后要考虑的是:AJAX非常有趣。

这完全取决于加载时将多少数据放入页面,或者通过AJAX拉入,以及哪些方法更快。没有单一正确的解决方案,这取决于具体情况。这取决于你认为什么更重要。如果您认为当有人第一次访问页面时更快的加载时间更重要,那么使用AJAX。但是,如果您认为在数据更改时加载数据更快,只需隐藏并显示即可。但是你可能不会注意到这一点。如果用户很少点击某个项目,那么ajax可能是最好的选择。ajax允许你在多个连接中传输数据,以获得N*个连接的最大速度,而单一页面的最大速度是单连接速度。简言之,10MB html文件的获取和呈现速度比10个1mb文件慢。但是HTTP头\TCP握手会导致请求\响应更大、更隐蔽。如果这不是一个负载平衡的配置,那么10个1MB文件的速度真的会更快吗?人们真的关心访问者查看源代码吗?我使用AJAX将数据作为原始JSON拉入,但不将HTML作为AJAX调用的一部分返回
<div id="item1"></div>
<div id="item2"></div>
<div id="element>
   <div id="item1_content" style="display:none"><? include('/path/to/html_1'); ?></div>
   <div id="item2_content" style="display:none"><? include('/path/to/html_2'); ?></div>
</div>

$("#item1").click(function(e) {
     $("#item1_content").show();
     $("#item2_content").hide();
     //Possibly do an AJAX call that simply returns JSON data and do something with it
});

$("#item2").click(function(e) {
     $("#item2_content").show();
     $("#item1_content").hide();
     //Possibly do an AJAX call that simply returns JSON data and do something with it
});
.
.
.