我有一个php include需要一段时间才能加载,因为PHP必须获取大量数据。我不想减慢整个网页加载等待这个包含的速度,所以如何加载这个包含ajax?我不想通过按钮点击触发ajax我只是希望它在页面加载时加载包含,这样如果你看下面的例子,那么在插入时会显示“更多的html内容”。 php仍在加载。
<html>
<head>
</head>
<body>
Some html content
<script>
Ajax load 'include.php';
</script>
Some more html content
</body>
</html>
答案 0 :(得分:4)
如果你正在使用jQuery,你可以使用他们的一个ajax调用从include.php加载你的html。例如,您可以使用load()函数。
例如:
<div id="content"></div>
<script>
$(document).ready(function() {
$("#content").load("/yourpath/include.php");
});
</script>
答案 1 :(得分:1)
使用jquery,在DOM准备好之后加载php(在渲染之前)
<div id="include"></div>
$(function(){
$("#include").load("include.php");
});
答案 2 :(得分:0)
如果您不使用jQuery,可以使用document.onload触发AJAX函数。 我从来没有尝试过这样做是公平的,因为大多数PHP快速闪电,我担心如果页面只是部分加载会发生什么。你可以使用document.ready来避免这种情况,但是你只是在等待页面加载。 请记住,HTTP每个服务器的每个浏览器的连接数有限,因此您可能会发现这最终不会加快任何速度。
我使用了一些漂亮的技术页面,有时它们需要0.06秒才能加载,但通常它们会更快。这是一个非常便宜和讨厌的服务器,资源非常少。用户无法将此视为延迟,因为下载内容所花费的时间比PHP用于提供内容要长得多。
问问自己:
也许最好简化代码以使其运行得更快。如果您不打算提供所有正在提取的数据,则可能根本不需要获取它。如果你要服务它,那就是花费时间,而不是处理。