2012-08-15 74 views
1

我試圖實現的是大多數大頁面在顯示大量內容時所做的類似事情,但您只想展示其中的一小部分內容,稍後繼續加載更多內容內容(例如從Facebook提供的信息,它只是加載前20個項目,並在Scrolldown後加載接下來的10個左右)。在我看來,有兩種方法想到(使用PHP MySQL AJAX組合)使用AJAX動態地繼續加載內容

  1. AJAX請求,找到所有的所有結果,返回數據,使用JavaScript中的數據和處理邏輯。
  2. AJAX請求,找到所有結果限制爲幾個,返回數據,用戶想要更多數據,AJAX請求,找到所有結果限制區間[少數,少數幾個]。

也許要澄清一下,我想要得到的數據並不是很大,我只是認爲在涉及到用戶完成的AJAX請求時,減少查詢次數總是一個好主意。

這兩種方法看起來都不太好,我相信會有更優雅的解決方案。

回答

1

我真的不能想到其他任何選項,實際上你的第二個選擇是很多網站如何處理這類事情。這完全取決於有多少數據是「大量內容」。

最簡單的選項(恕我直言)是您的第一個選項,但很明顯,您擁有儘可能多的數據作爲臉書,但只是不可取得和存儲它(想象一下頁面加載時間!)。

但是,這些只有兩種選擇:一次獲取全部數據,或按需要按位獲取數據。

+0

我所看到的「按需要按位獲取」的問題是,您需要存儲您想要獲取哪些元素。這意味着你再次進行整個查詢,然後說'現在給我結果10-20'。 – toxicate20 2012-08-15 08:39:39

+0

@ toxicate20:您可以隨每個獲取的元素(或元素組)一起存儲一些唯一的'id',以用於確定下一個組是什麼。我假設你正在顯示某種記錄,在這種情況下,你可以將'data-lastId'添加到你的屬性中(或者將值存儲在javascript中)並使用它。 – 2012-08-15 08:42:38