2013-06-05 305 views
2

我有一個PHP包含,需要一段時間才能加載,因爲PHP需要獲取大量數據。我不想放慢整個網頁加載等待這個包括如何加載這一個包括ajax?我不希望ajax被點擊按鈕觸發,我只是希望它在加載頁面時加載include,這樣如果你看看下面的示例,將會顯示'更多html內容',同時還會顯示插入內容。 PHP是仍在加載。如何在頁面加載時將ajax加載到頁面中使用ajax

<html> 
<head> 
</head> 
<body> 
    Some html content 
    <script> 
     Ajax load 'include.php'; 
    </script> 
    Some more html content 
</body> 
</html> 
+0

使用jquery.ajax()併成功響應顯示你的所有html。在onload調用ajax。 – Dineshkani

回答

2

如果你使用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,您可以使用文檔觸發AJAX功能。負載。 我從來沒有試過這樣做是公平的,因爲大多數PHP閃電般快速,我擔心如果頁面只部分加載會發生什麼。你可以使用document.ready來避免這種情況,但是你只是在等待頁面加載。 請記住,您通過HTTP每臺服務器的每個瀏覽器的連接數有限,因此您可能會發現這最終並未加快速度。

我使用一些漂亮的技術頁面,偶爾他們只要0.06秒即可加載,但通常它們更快。這在一個非常便宜和骯髒的服務器上,資源非常有限。用戶無法將其視爲延遲,因爲下載內容需要比PHP花費的時間長得多。

問自己:

  • 列表項爲什麼我的代碼,這麼長時間來加載?
  • 列表項目我是否需要include中的所有代碼?
  • 列表項還有更好的方法嗎?
  • 列表項我應該刪除不常用的代碼來分離包含(或使用PHP中的類批處理加載工具)?

也許它可能會更好地簡化您的代碼,使其運行速度更快。如果你不打算提供你正在提取的所有數據,也許你根本不需要獲取它。如果你打算提供服務,那將花費時間,而不是處理。