Web 前端開發怎麼和後台進行相銜接?
web前段開發把前期工作做完了,頁面處理完了,那怎麼和後台進行轉接工作,從而使前端和後台工作相銜接呢?譬如,前端做好了是直接傳給後台,還是怎麼和後台程序進行相銜接,他們兩個人之間要做一些什麼工作?請大牛們幫忙解釋一下。
這個問題我理解為:如何把一個Web程序的前端和後端聯繫起來。以下內容基於此理解進行回答。
先不考慮AJAX,從簡單的說起。
前端和後端之所以需要對接,是因為前端頁面只負責提供視圖沒有內容,而後端只提供內容,兩者所謂的對接,就是把後端的內容放在前端頁面預留出來的位置上。(雖然說是前端後端,但這一對接實際發生在伺服器端)。
所以伺服器端進行的活動如下:接收用戶請求——》找到負責處理的程序——》處理程序找到要傳輸給用戶的前端頁面——》該前端頁面留出位置——》後端到資料庫取數據——》後端把數據放在前端留出來的位置上——》結合成真正用戶看到的html文件——》傳輸給用戶。
(寫完發現下面可以不用看了,沒有辦法用三言兩語說清楚,最後你還是得找本書來看)以博客中常見的輸出文章的作者信息為例:&
&
&&
&
&write by Aeolia on 2013-08-07&
&
很明顯其中的作者名稱『Aeolia』和發布日期『2013-08-07』要替換掉
具體方法看你後台用的是什麼技術:1,後台php把HTML文件改為php文件&
&
&
&&
&
&write by &on &&
&
===============================================================
2,後台JSPServlet文件(*代表此處有省略)
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 Railscontroller文件
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
推薦閱讀: