這是關于Backbone的一個demo,主要演示如何進行前后臺數據交互

khyytt 9年前發布 | 65K 次閱讀 Backbone Web框架
這是關于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前端開發流程及規范


項目主頁:
http://www.baiduhome.net/lib/view/home/1438350818644

 本文由用戶 khyytt 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!