2011-10-12 31 views
1

當我越來越多地瞭解JQuery & PHP請求時,發生了一些事情。JQuery和PHP請求。什麼更有效率?

我設計了一個網頁,其中包含一些空的DIV,這些DIV在加載此頁面期間和之後由Ajax調用填充。到目前爲止,爲了加載這個頁面,我總共使用JQuery/Ajax調用8個(.get())調用到php頁面,獲取結果並填充這個div。

  1. 在初始網頁加載,它是明智的:

A.使8 Ajax調用8個不同的PHP頁面或... B.使1 Ajax調用1個PHP頁面同時生成以前8個的內容?

  1. 我決定使用Ajax這樣,一旦頁面加載,每個用戶未來作用是通過Ajax調用製成,不會要求所有我認爲會節省大量的這些原始呼叫再次作出的服務器資源等。

你們能給出一些關於輕量級和高效開發指南的指導嗎?

回答

2

你應該儘量減少你的AJAX調用頁面加載。在一個完美的世界中,唯一的AJAX調用是由於用戶在文檔加載後進行的交互。這意味着您應該以一種組裝和顯示整個頁面內容的方式編寫後端代碼。

請注意,將AJAX網站向後兼容是一個不錯的主意。東西在你的PHP,如:

define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'); 

if(!IS_AJAX) { require_once("header.php"); } 
echo "this is ajax content"; 
if(!IS_AJAX) { require_once("footerer.php"); } 

這將檢測它是否是一個Ajax請求,如果沒有顯示正常操作的頁眉和頁腳。

+0

因此,「頁面加載時的0個AJAX請求」比「頁面加載時的1個AJAX請求」要好於「加載頁面時的8個AJAX請求」。對? –

+0

正確!同樣的邏輯適用於樣式表,JavaScript文件等等。請求越多,網站的響應就越少。總是有例外,並且使用AJAX,至少網站的其餘部分將呈現。一個可接受的應用程序可能是一個數據密集型站點查詢,會降低整個站點的速度 - 將其放入ajax請求會使站點在加載時看起來更快。 –

+0

不依賴於這些頭,他們不能保證http://stackoverflow.com/questions/1393904/ajax-only-access/1393923#1393923 – robjmills