如何在页面加载时使用ajax加载php include?

3
我有一个PHP include文件需要加载很长时间,因为PHP必须获取大量数据。我不想因为等待这个include而拖慢整个网页的加载速度,所以我该如何使用ajax来加载这个include呢?我不想通过按钮点击来触发ajax,我只是想在页面加载时加载这个include,这样,如果你查看下面的示例,“Some more html content”将被显示,同时include.php仍在加载中。
<html>
<head>
</head>
<body>
    Some html content
    <script>
        Ajax load 'include.php';
     </script>
    Some more html content
</body>
</html>

使用jquery.ajax(),在成功响应中显示您的所有HTML。在onload中调用ajax。 - Dineshkani
3个回答

5
如果您正在使用jQuery,您可以使用其中一个ajax调用从include.php中加载您的html。例如,您可以使用load()函数。
例如:
<div id="content"></div>

<script>
$(document).ready(function() {
    $("#content").load("/yourpath/include.php");
});
</script>

1

使用jQuery,在DOM准备就绪后加载PHP(在它们渲染之前)

<div id="include"></div>
$(function(){
    $("#include").load("include.php");
});

0

如果您没有使用jQuery,您可以使用document.onload来触发您的AJAX函数。说实话,我从未尝试过这样做,因为大多数PHP非常快速,我担心如果页面只部分加载会发生什么。您可以使用document.ready来避免这种情况,但那样你只是在等待页面加载。

请记住,每个浏览器对于HTTP每个服务器有限制的连接数,因此最终您可能会发现这并没有加速任何内容。

我使用一些非常技术性的页面,有时需要长达0.06秒才能加载,尽管通常它们会更快。这是在一个非常便宜且资源极少的服务器上完成的。用户无法感知到这种延迟,因为下载内容所需的时间比PHP提供服务所需的时间要长得多。

问问自己:

  • 为什么我的代码加载如此缓慢?
  • 我是否需要包含所有那些代码?
  • 是否有更好的方法?
  • 我应该将不经常使用的代码移动到单独的包含文件中(或者使用PHP中的类批量加载功能)吗?
也许简化代码以提高运行速度会更好。如果您不打算提供所有获取的数据,那么也许根本不需要获取它们。如果您要提供这些数据,那么耗时的是服务而不是处理过程。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接