`
zhouyrt
  • 浏览: 1163761 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Backbone.sync-将模型同步到服务器

 
阅读更多

默认情况下,只要保存模型(Model/Collection的sync方法),Backbone就会Ajax请求把模型持久化到服务器端。

 

有以下几点
  1. sync方法把model持久化存储到服务器端,你可以重写该方法的实现方式,它默认使用jQuery或zepto的$.ajax
  2. 整个Backbone,只有Model和Collection的sync会调用Backbone.sync
  3. 请求类型由第一个参数method决定,可以是create/update/patch/delete/read。它默认采用RESTful请求
  4. 请求的数据由第二个参数model决定,URL默认是model的url,数据是model的attributes转成JSON。数据类型默认是JSON类型
  5. 请求后会触发model的request的事件,如果添加了该事件的handler后

 

执行流程
  1. 处理type,从methodMap
  2. 初始化options
  3. 初始化params,含type/dataType/url
  4. create/update/patch时,params的contentType为application/json,params.data确保有值,值为model转为json
  5. emulateJSON
  6. mimicking HTTP
  7. 非GET时, processData为false
  8. PATCH时 IE低版本重写xhr
  9. 触发request事件

 

附图



 

 

相关:

http://www.ruanyifeng.com/blog/2011/09/restful.html

 

附图

 

 

 

  • 大小: 69.6 KB
分享到:
评论

相关推荐

    Backbone.js(1.1.2) API中文文档.zip Backbone.js离线文档

    Backbone.js中的模型与服务器上的数据源保持同步,通过`fetch`方法获取数据,通过`save`方法更新数据。模型还提供了`validate`方法,用于在数据改变时进行验证。 2. **视图(Views)**:视图是用户界面的表示层,...

    backbone.sync.js

    而`backbone.sync.js`是Backbone的一个关键组件,专门用于处理数据的同步操作,与后端服务器进行通信。在本篇文章中,我们将深入探讨`backbone.sync.js`以及如何将其与Python的Django框架结合使用。 一、Backbone....

    Backbone.js的集合

    - **添加模型**:使用`add`方法可以将模型添加到集合中,例如`collection.add(model)`。如果模型已经存在于集合中,`add`方法将不会做任何操作。 - **删除模型**:`remove`方法用于移除集合中的模型,如`collection....

    ampersand-optimistic-sync:Backbone.sync和&符同步的包装器,自从

    现在,您的模型将在对服务器的每个请求中检查ETag标头。 如果存在,则将在模型上将ETag设置为_version,并且将触发sync:version(args:模型,版本)事件。 在更新时,同步现在将自动将_version值作为If-

    backbone学习例子-可编辑的表格

    当模型或集合的数据发生变化时,可以通过`sync`方法将这些变更同步到服务器。 7. **URL路由(Router)**:Backbone Router是客户端路由的核心,它可以监听浏览器的URL变化,并根据路由规则执行相应的动作。在学习...

    讲解JavaScript的Backbone.js框架的MVC结构设计理念

    6. Sync:Sync模块定义了Model与服务器之间数据同步的机制,可以配置为RESTful、WebSockets等多种通信协议。 Backbone.js的模块化和轻量级设计使得它在大型应用开发中非常适用,特别是对于需要高可定制性和扩展性的...

    Backbone.js Cookbook

    通过深入学习本书提供的丰富示例,开发者不仅可以掌握Backbone.js的核心概念和最佳实践,还能了解到如何将其与其他技术(如jQuery、Underscore.js等)结合起来,共同构建出高性能且易维护的应用程序。

    简单了解Backbone.js的Model模型以及View视图的

    - `sync`: 这是一个用于与服务器通信的方法,基于Backbone.sync,通常用于CRUD(创建、读取、更新、删除)操作。 - `fetch`: 用于从服务器获取Model的最新数据。 - `save`: 将Model的更改保存到服务器。 - `destroy`...

    JavaScript_Application_Architecture_with_Backbone.js

    - **sync**: 支持RESTful HTTP同步机制。 - **change**: 当属性发生变化时触发的事件。 - **validate**: 验证约束。 - **Backbone.Collection**:一组模型的集合。 - **add**: 添加一个或多个模型到集合中。 - ...

    Building Node Applications with MongoDB and Backbone.pdf

    - **同步(Sync)**: 通过AJAX请求与服务器进行数据交换的方法。 - **路由器和历史记录**: 用于处理单页应用(SPA)中的URL导航和路由逻辑。 3. **MongoDB** - **数据访问**: 介绍如何连接MongoDB数据库以及基本...

    前端项目-backbone-tastypie.zip

    1. **Model**:代表应用程序的数据模型,可以与服务器进行同步,并处理数据的验证和变化事件。 2. **View**:负责用户界面的渲染和事件处理,与模型绑定,当模型发生变化时,视图会自动更新。 3. **Collection**:一...

    Backbone fundamentals

    Backbone还提供了一系列内置功能,比如链式API、事件处理、集合(Collections)、以及与后端进行数据同步的Sync API。 Backbone.js还有一个重要的特性是它对RESTful持久化提供了支持,使得与服务器进行通信变得更加...

    backbone文档

    此外,Backbone.sync是模型和服务器间通信的桥梁,支持RESTful API。它允许开发者轻松地与服务器进行CRUD操作(Create、Read、Update、Delete)。 总的来说,Backbone.js通过提供一套MVC结构,使得前端开发更加模块...

    Java 演示 backbone 基本用法

    5. **Backbone.sync**: 这是Backbone与服务器进行数据同步的接口。默认情况下,它使用AJAX(jQuery的$.ajax)来实现RESTful API的CRUD操作。开发者可以覆盖此方法,以适应不同的后端接口。 6. **Underscore.js**: ...

    SourceAnalysis_BackboneJS:Backbone.js原始解析-源码解析

    1. **Model和Collection的同步**:在`Backbone.sync`中,Backbone使用了AJAX(或fetch API)与服务器进行数据同步。默认实现是使用RESTful API,但可以通过`sync`方法进行自定义。 2. **View的事件绑定**:`...

    Backbone-To-Do

    6. **Sync**:Backbone的Sync方法用于与服务器进行数据交换,遵循RESTful API设计。在To-Do应用中,可能有保存和加载待办事项到服务器的功能,这将涉及到Model的`save`和`fetch`方法。 7. **Templating**:Backbone...

    backbone.zip

    Backbone的灵活性和简洁性吸引了众多开发者,形成了丰富的插件生态系统,如Backbone.localStorage用于本地存储,Backbone Marionette提供了更高级的应用程序结构,Backbone Relational实现关联数据模型等,这些插件...

    Backbone 文档

    Backbone.js 是一款轻量级的JavaScript库,用于构建客户端的Web应用,它提供了一种组织和管理前端数据模型、视图以及与服务器交互的结构。这个文档将带你走进Backbone的世界,通过一个开发入门的例子,帮助你了解...

    backbonejs-978-1-7821-6272-8:Backbone.js 食谱

    Backbone.js的`sync`方法是模型和集合与服务器之间进行数据交换的桥梁。默认情况下,`sync`使用jQuery的`ajax`方法实现RESTful API通信,但可以自定义以适应不同的API风格。 **7. 处理API交互** Backbone.js通过`...

Global site tag (gtag.js) - Google Analytics