Web 前端開發怎麼和後台進行相銜接?

web前段開發把前期工作做完了,頁面處理完了,那怎麼和後台進行轉接工作,從而使前端和後台工作相銜接呢?譬如,前端做好了是直接傳給後台,還是怎麼和後台程序進行相銜接,他們兩個人之間要做一些什麼工作?請大牛們幫忙解釋一下。


這個問題我理解為:如何把一個Web程序的前端和後端聯繫起來。以下內容基於此理解進行回答。

先不考慮AJAX,從簡單的說起。

前端和後端之所以需要對接,是因為前端頁面只負責提供視圖沒有內容,而後端只提供內容,兩者所謂的對接,就是把後端的內容放在前端頁面預留出來的位置上。(雖然說是前端後端,但這一對接實際發生在伺服器端)。

所以伺服器端進行的活動如下:

接收用戶請求——》找到負責處理的程序——》處理程序找到要傳輸給用戶的前端頁面——》該前端頁面留出位置——》後端到資料庫取數據——》後端把數據放在前端留出來的位置上——》結合成真正用戶看到的html文件——》傳輸給用戶。

(寫完發現下面可以不用看了,沒有辦法用三言兩語說清楚,最後你還是得找本書來看)

以博客中常見的輸出文章的作者信息為例:

&
&
&&
&
&write by Aeolia on 2013-08-07& &

&

很明顯其中的作者名稱『Aeolia』和發布日期『2013-08-07』要替換掉

具體方法看你後台用的是什麼技術:

1,後台php

把HTML文件改為php文件

&
&
&
&&
&
&write by &on && &

&

===============================================================

2,後台JSP

Servlet文件(*代表此處有省略)

package *
import *
public class Servlet extends HttpServlet {
public void 處理GET請求的方法{
//1,從資料庫獲得數據,存為變數writer和date
//2,把變數writer和date設置為request的屬性
//3,調用要跳轉的JSP頁面
}
}

JSP文件

把HTML文件改為JSP文件

&<% //從request里把writer和date取出來。 %&>
&
&
&&
&
&write by &<%=writer%&>on &<%=date%&>& &

&

==============================================================

3,Ruby on Rails

controller文件

class Controller &< ApplicationController def index //資料庫里取article對象 //把article對象的數據respond到視圖中 end end

視圖文件

把HTML文件後面添加後綴erb,為index.html.erb,放在視圖文件夾下

&write by &<%=article.writer%&>on &<%=article.date%&>&


謝邀。

如果是前端做好了,那就是根據後端部分將數據填上了。

一種方式是後端程序員拿著你這個頁面直接改,插入數據。這個適合一些模板類的工具例如PHP,http://ASP.NET,JSP,此外還有形式上相似的比如rhtml、django模板、Velocity等等。PHP中有一個也致力於此的庫叫Smarty處理一些簡單的情形還是非常不錯的。

採用這種方式,前端做好頁面後面就幫不上忙了,只能讓後端去熟悉你前端的設計,讓後你作為前端稍微解釋一下一些細節。

一種方式是ajax取數據,也就是讓後端暴露出數據,讓前端取回來填充頁面。除了XML格式,json格式也比較流行。這種情況下是前端完成剩餘的部分,前端和後端需要約定好數據格式的細節。

這種方式的缺點是很依賴前後端的溝通,而且幾乎沒法實現測試驅動開發。

於是這種方式有各種變種,比如Ember.js,knockout.js,backbone.js這些工具使用的方式。很多時候需要給數據先設計一個schema,未必是前端或者後端寫,可能是在項目前期約定好的,前端和後端就按照預先約定好的做正確的實現就可以了,這些庫會幫你把數據在恰當的位置顯示出來,並實現一些交互功能。


首先這是從軟體開發延續至今的過程管理和開發流程問題,行業不同也不盡相同,公司之間也存在差異,甚至團隊之間也是。

這要從7層模型說起,前端屬於應用、表現,後台屬於數據,至於銜接那就是服務層了。

不同公司對服務層的工作有不同的定位,常見的幾種是前端負責開發頁面及相應介面,後台負責數據收集、計算、準備,兩者共同聯調。

舉個例子:頁面上有個鏈接,點擊後跳轉到另一頁面,其實是往後台發送了一次請求,那麼如何發,以及請求類型、請求URL等,就是介面負責定義的了,前端和後台誰都可以負責介面的定義與文檔編寫,這個在不同的團隊中有不同的分工。

另外還有一些公司比較大,員工職責相對較專業,有介面開發,有文檔管理員,那麼前端僅負責對照文檔或規範開發頁面即可,後台也一樣。

希望能幫到你。


交給模板引擎就可以了。主流模板引擎手冊都有前端部分和後台部分。前後端分別掌握就可以了。


ajax或者java


可以用Ajax來向後台發送請求和接受返回信息,跨域的話可以用JSONP


ajax + jsonp


推薦閱讀:

Vue.js 不支持 IE8 你們是怎麼做的?
有前端工程師的培訓、提高的課程嗎?
如何開發組件化、模塊化的 web 應用 ?
Web前端技術在智能家居領域會有什麼應用場景?
如何看待基於框架的組件庫,為什麼要用?自己寫不好嗎?

TAG:網頁設計 | 前端開發 | 前端工程師 | 網站後台 |