2013-04-26 62 views
0

目前我使用JSON作爲AJAX的結果,並動態創建我需要的所有新DOM元素。但在這裏我在想 - 對嗎?例如,如果我需要創建一個<table>的數據是更好的構建它與JS或在服務器上生成它,只需追加結果到頁面?追加AJAX數據的最佳方法是什麼?

UPDATE 現在我這樣做:

jQuery.getJSON(url, function(result){var table = jQuery('<table/>').append([jQuery('<td/>..... 

而且還可以簡單地這樣的:

jQuery.get(URL, function(result){jQuery('body').append(result);}....... 
+0

你可以使用模板引擎,然後你可以使用javascript – 2013-04-26 13:02:46

+2

你是什麼意思的「更好」?你自己的成功標準是什麼? – Pointy 2013-04-26 13:03:06

+0

對於表格示例,這取決於。它會是一個數據庫查詢?你的表格是否會應用腳本(可排序,數據表等)?有一個搜索?這些附加組件將會告訴你,如果你需要去服務器或ajax。我更喜歡客戶端,因爲您離開您的主機來處理查詢和顯示。而不是客戶端的瀏覽器下載附加數據,然後處理並創建DOM元素。但是,如果表格具有搜索和分頁功能,則最好使用ajax而不是強制您無限制地進行'*'查詢。 – RaphaelDDL 2013-04-26 13:06:18

回答

0

真的是有沒有人回答您的問題 - 這一切都取決於你的軟件類型,預期的載荷等

清晰,動人「渲染」到客戶端,將減少服務器和客戶端之間傳輸的代碼量,並且在生成html代碼時使用更少的服務器資源(顯然,我們正在談論微型差異)。但是,如果您正在談論成千上萬的在線訪問者,這可能變得非常重要。

但是,如果你有成千上萬的訪問者,你不會問這樣的問題:)所以,我想,你應該格式化服務器端的所有東西,並無效地打擾這個問題。

0

沒有對錯之分。這一切都取決於最適合你的東西。我個人發現JSON是一個很好的多用途格式。你永遠不應該做的是將數據作爲HTML返回。儘量保持您的數據免於屬於表示層的任何結構化。

有關詳細信息,對Model-View-Controller

0

讀這取決於結果的大小。結果很小,但沒有什麼區別。

但是,如果您要爲表發送很多行,那麼JSON響應將比實際的表html代碼高效得多。

使用像@Arun P這樣的模板引擎Johny在他的評論中說是處理JSON結果集的好方法。

檢查下劃線的模板http://underscorejs.org/#template

相關問題