2013-07-28 91 views
2

我試圖使用Ajax生成在客戶端頁面,到目前爲止,我做這件事的兩個想法:客戶端和服務器端頁面生成

  1. 我可以加載帶有基本的DOM頁面,JS和CSS文件從服務器,然後我可以做一個Ajax調用來從服務器獲取數據並在客戶端生成頁面。

  2. 我可以從服務器加載一個完整的頁面,包含JS和CSS文件,每當用戶想要更新內容時,我都可以進行ajax調用。

我不喜歡這兩種方法中的任何一種(它們都會在JS代碼中有頁面模板)。第一個是向服務器提出額外的請求;第二個需要我在php代碼中創建另一個「模板副本」。

有沒有建議讓結構更清潔?

UPDATE: 我覺得也許這是好當的頁面是不是過大,產生在服務器端的整個頁面(我認爲一個表有數百行的大,它耗費了大量的服務器生成數據周圍的所有html標籤),在這種情況下,您只需使用ajax來拉取頁面,而不是從服務器獲取json數據,然後生成頁面。

+0

我不太瞭解php,但是第二個選項你聽起來完全像jquery在jquery mobile中開發的分頁。由於他們顯然是專家,並給了它很多,但我會說這將是一個很好的方法來做到這一點。再次,我不太瞭解php。希望這有些幫助。 –

+0

謝謝你給我jQuery手機的例子,我不知道! – Lumin

+0

看起來你需要以某種方式加載數據,無論它最初是作爲一個完整的頁面加載的,還是由jQuery動態加載的......我是否正確? – kchason

回答

0

從我的經驗,有兩個場景中,你會想渲染客戶端:

  • 你正在建設一個純客戶端應用程序的JS。
  • 您想爲不同平臺(網頁,桌面,移動本地)提供數據。

除非您使用以前的某個場景(我假設您沒有這樣做)識別您的頁面,否則我建議您在服務器端進行渲染。雖然響應會更大(服務器端計算時間可以忽略不計),但與客戶端渲染相比,感知速度會更快。

如果您需要提供一個非常大的頁面,請注意,無論用戶何時到達頁面底部而無需客戶端模板,您都可以通過AJAX自動加載HTML塊。

+0

我現在只是在製作控制面板,而且我決定在服務器端渲染頁面!感謝您的回答! – Lumin