2011-02-01 76 views
0

我(大部分)是一名前端開發人員,他在一個網站上使用後端人員製作原型。它的基礎知識需要一個用戶登錄區域,以及一個搜索表單,用於搜索數據庫表並返回結果。顯示數據庫內容 - PHP vs Javascript

他正在用Java和PostgreSQL做後端邏輯。他建議在查詢時向我返回一個JSON格式。這意味着我將不得不從JSON字符串中取數據並填充/創建HTML標記。我可以用Javascript或PHP來做到這一點。它似乎是PHP不會更聰明,因爲我不需要使用Javascript/jQuery創建HTML標記,也不需要使用服務器填充的所有數據,減少了客戶端的負載,但是這意味着作爲「前端「人我也在寫PHP。

關於使用Javascript將所有服務器數據加載到頁面上,這是標準做法嗎?或者它應該只用於AJAX?

後端應該是否也會生成標記?分離這個前端和後端工作的最好方法是什麼?謝謝!

回答

1

如果你使用PHP,你也是一個後端人。

如果標記是由服務器生成的,則通常不會編寫AJAX應用程序,因爲標記是由服務器生成的。

事實上,如果你想編寫一個ajax應用程序,你必須用Javascript來操縱DOM。使用jQuery或類似的東西來做到這一點。

分離前端和後端是通過創建一個接口來完成的,該接口是一個將UI與後端邏輯分開的合約。在你的情況下,合同是你的JSON數據的格式。

+0

我不願意寫PHP,因爲那意味着我會寫後端表示邏輯太正確?此外,「如果標記是由服務器生成的,則通常不會編寫AJAX應用程序,因爲標記是由服務器生成的。」不能用PHP生成標記,並且AJAX中的Javscript只是操縱DOM?在我看來,我希望他會寫一些模板引擎,並用php處理表示邏輯。我將嚴格爲任何形式的用戶交互編寫HTML/CSS和JS。 – Lucas 2011-02-01 11:37:46

+0

是的,但是如果您想更改UI,您可以向服務器發送調用,該服務器將生成標記(非AJAX方式)或對服務器進行異步調用以調用JSON數據od,而不是更改帶JavaScript的DOM。我會用第二種方法。 – 2011-02-01 11:43:02

+0

對不起第二種方法你是指JS還是PHP? – Lucas 2011-02-01 11:46:17

0

一個很好的折衷辦法是做兩種:

選項1

一個小PHP腳本服務器端哪些格式的restults與適當的IDS /類似於一個表,允許JavaScript添加類造型。整個表格可以通過AJAX調用返回並放置在頁面上的佔位符div中。

選項2

服務器返回簡單JSON來前端,前端用任何機制它認爲合適的建立相應的HTML

第一個是代碼清晰 - HTML的生成與樣式是分離的,但是它是一個額外的跳躍(PHP),並且稍微不靈活 - JS可以根據需要修改表,但它受PHP PHP發送的限制。

第二個稍微冗長的代碼,但完全靈活。

0

我始終使用JSON將數據從服務器發送到瀏覽器,在瀏覽器中使用一種或多種模板格式。我寧願使用JavaScript中的數組,因爲像map和filter這樣的數組方法使它更容易。