加载/包含内容的最佳方式? (jQuery load()与PHP include())

时间:2013-12-19 08:29:09

标签: javascript php jquery html

将html网页内容加载到其他网页的最佳方法是什么? 让我说我有一个首页(index.php),我可以在PHP和JavaScript之间进行选择,我不必关心兼容性,移动用户等。

在过去,我使用php中的include()/ include_once()函数来做这样的事情,将我放在content.html中的内容内容加载到我的div-container中的index.php:

<div id="content">
    <?php include("content.html"); ?>
</div>

但我可以使用javascript / jquery做同样的事情:

$("#content").load("content.html");

但最好的方法是什么? 我知道你真的不能将PHP与javascript进行比较。通常我只会使用javascript作为用户界面的东西。特别是使用jquery的load()函数,它很容易将文件中的内容加载到div中并替换PHP的include()。但仅仅因为它可以完成,并不意味着应该完成。

有什么样的最佳做法吗?使用javascript的优点是什么?

1 个答案:

答案 0 :(得分:2)

假设您所包含的HTML文件不是动态的(不是在PHP中创建,只是静态标记),那么PHP include是首选方法。

通过使用PHP include(),当浏览器首次加载内容时,内容将在页面上,而在浏览读取页面数据后将加载$ .load()调用,然后javascript开始呈现然后加载jQuery,然后以异步方式触发$ .load()。

另外,$ .load()需要jQuery,其中PHP include()是一个内置函数,它比通过$ .load()加载jQuery和发出异步请求快得多;

如果您需要在页面首次渲染后加载内容(即作为用户交互的结果),则需要$ .load()。

我建议您阅读同步(即PHP include(),$ .ajax({asynch:false}))和异步(即$ .load(),$ .ajax())资源加载之间的区别或网络请求。

这是您可以查看的地方之一:http://www.w3schools.com/ajax/ajax_intro.asp