2011-04-05 76 views
0

根據腳本結果更新div#posts下我的頁面的一部分。這是一個老式的mysql選擇查詢,回顯所有結果標籤。ajax json演示

例如foreach($ output as $ view) echo「{$ view ['smthing']} 」;

我今天聽到的蹩腳編程是這種方法是陳舊的,而應該使用json和ajax功能在客戶端建立實際的重複的html結構,而不是在服務器端進行。我知道ajax是如何工作的,以及json的語法是什麼樣子,但是我仍然會欣賞這兩個問題之間的相關性,以提高我的項目性能。

非常感謝

+1

您可以在服務器端構建HTML結構並將其發送給客戶端。很多時候,性能比在客戶端上建立更好。所有客戶端需要做的就是將其設置爲innerHTML,並且很好。 – epascarello 2011-04-05 19:06:31

+0

這就是我一直在做的事情,但隨後專業團隊試圖向我解釋當你有很多請求時服務器的消費方式,這是真的,你會同意的。謝謝 – 2011-04-05 19:13:07

+0

爲html建設服務器端+1。不僅更好的性能,而且(重新)使用服務器端模板。建築佈局是一項服務器任務 – Rudie 2011-04-05 19:45:26

回答

1

我想你要找的是一個AJAX調用服務器上的服務,返回JSON,在客戶端,你合併成一個模板來創建你追加到有問題的DIV的HTML。

Dave Ward(Encosia)有一些很好的教程。這些可能是ASP.NET服務器端,但因爲你是問的是JSON,HTML和客戶端合併,我認爲這將幫助您:

http://encosia.com/2010/10/05/using-external-templates-with-jquery-templates

http://encosia.com/2010/11/10/composition-with-jquery-templates-why-and-how

http://encosia.com/2010/12/02/jquery-templates-composite-rendering-and-remote-loading

+0

這些都是很好的例子。謝謝 – 2011-04-05 20:45:58

1

這是我的計劃。當你需要更新時,你可以發送一個JSON對象數組。每個JSON對象都是一個更新。所以如果你需要更新一個表,每個JSON對象可能是表中的一行。一旦你的JavaScript已經恢復數據迭代JSON對象並處理它們。

就個人而言,如果你有一些工作,並沒有性能問題,我不會看到做不同的事情的理由。