2011-10-09 53 views
1

我目前正在創建一個較小的待辦事項網站,我有相關的Ajax和性能的多種問題...因此,這裏是我的問題:Ajax和性能/速度

  1. 爲了減少數請求,我想從一個請求中獲取所有數據,所以我會通過例如這些屬性:

    1.1。拿到1項任務:

    實體=任務& ID = 2 &類型=單&額外=子任務%%上下文

    1.2。要獲得一個上市的任務和事件的列表:

    實體=任務%%事件& USER_ID = 2%=類型多個%爲了=日期&上限= 10

    ,你認爲這會降低請求數量並改善一些如何的表現?

  2. 如果所有請求都會轉到一個文件,這意味着.php文件可能很大,是不是很糟糕?或者它並不重要?

  3. 對於列表。我將能夠改變列表的順序,並可能以某種方式對其進行過濾。你是否認爲這將是更好地應對所有任務和事件加載到

回答

1

爲了保持快有兩個顧慮:

  1. 減少HTTP請求 - 如果你需要數據的兩個單獨的位,給他們在一個文件中。
  2. 保持每個AJAX請求中傳遞的內容很小 - gzip和緩存在這裏創造奇蹟。

所以,是的,捆綁在一起。大型PHP文件沒有任何區別,數據庫查詢是通常被販運的網頁中唯一真正的瓶頸。

對於過濾和排序,一個好的方法是使用JSON作爲AJAX響應,然後根據客戶端的排序/過濾,如果您正在討論的是少量項目(可能多達1000個項目)。如果你有成千上萬的項目,那麼從服務器返回一個子集將會更好。

+0

謝謝,現在更清楚了。我唯一的問題是,如果可以發送像上面顯示的變量,使用%%,如果我想將多個值分配給一個變量,或者有更好的做法來執行此操作嗎? – kaha

+0

看不到任何錯誤,但不知道爲什麼你不會只有另一個參數 - extra = subtasks&something = contexts而不是extra = subtasks %% contexts。當然,你可以控制服務器和客戶端代碼,所以如果%%使你更容易,那就沒問題。 –

+1

謝謝Rich :) – kaha