這是關于Backbone的一個demo,主要演示如何進行前后臺數據交互
這是關于Backbone的一個demo,主要演示如何進行前后臺數據交互;并且涉及到backbone的基本概念,了解之后,相信你會對backbone有一個更深的認識。
前言
這是本人做的一個關于 backbone 的demo,至于 backbone 是什么,這里不多說,簡單來說就是一款前端mvc框架,除了backbone,還有很多mvc框架可供選擇。可以參看我之前的一篇博客 Backbone技術解析
更多關于Backbone的知識點請查看API中文文檔
下面就demo中的一點問題進行聲明:
SpringMVC返回數據
這個是SpringMVC3.0以上的版本,全部使用注解,這一部分知識這里也不做了解了,比較簡單。
Backbone基礎
在使用Backbone之前,一定要定義一套跟后臺POJO一致的數據模型,這樣才能實現數據交互。如果兩者的數據模型有出入,帶來的問題就是
-
如果前端向后臺傳送數據模型,如果前端model中的屬性POJO對象中沒有, 會報Json轉換異常;如果后臺pojo對象的屬性在前端model沒有,這是正常的。簡單言之:就是前端model的屬性 必須完全屬于 后臺POJO對象屬性集合;
-
如果后臺向前臺傳送數據模型,如果后臺POJO屬性有,而前端對象沒有,正常;如果后臺POJO屬性沒有,前端屬性中卻有,就是default值;
注: 這里使用了Jackson框架對json進行解析
RequireJS
用backbone為什么要使用requireJS框架呢, 就是實現異步加載腳本!
重寫Backbone的Ajax
為什么要重寫?
因為 Backbone 的Model和Collection提供了很多直接與后臺交互的方法,比如fetch,save,create,distory等等去實現增刪改查 ;這種基本的交互方法是直接基于model操作的,如果我們的請求或返回數據被包裝過,就必須重寫。
怎么重寫?
- 就是在發送請求到后臺之前,需要包裝成我們自己的請求格式,比如我習慣將實體的請求參數封裝進data里:
{data: model}
- 在請求返回的響應中,需要解除后臺的包裝,比如結果集封裝在ReusltInfo對象里,就是不僅會有我需要的實體對象數據,還有一些其他的數據,比如errorCode和errorMsg等 。
其他問題
參看我的另外一篇博客 Backbone前端開發流程及規范
本文由用戶 khyytt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!