默认情况下,只要保存模型(Model/Collection的sync方法),Backbone就会Ajax请求把模型持久化到服务器端。
有以下几点
- sync方法把model持久化存储到服务器端,你可以重写该方法的实现方式,它默认使用jQuery或zepto的$.ajax
- 整个Backbone,只有Model和Collection的sync会调用Backbone.sync
- 请求类型由第一个参数method决定,可以是create/update/patch/delete/read。它默认采用RESTful请求
- 请求的数据由第二个参数model决定,URL默认是model的url,数据是model的attributes转成JSON。数据类型默认是JSON类型
- 请求后会触发model的request的事件,如果添加了该事件的handler后
执行流程
- 处理type,从methodMap
- 初始化options
- 初始化params,含type/dataType/url
- create/update/patch时,params的contentType为application/json,params.data确保有值,值为model转为json
- emulateJSON
- mimicking HTTP
- 非GET时, processData为false
- PATCH时 IE低版本重写xhr
- 触发request事件
附图
相关:
http://www.ruanyifeng.com/blog/2011/09/restful.html
附图
相关推荐
Backbone.js中的模型与服务器上的数据源保持同步,通过`fetch`方法获取数据,通过`save`方法更新数据。模型还提供了`validate`方法,用于在数据改变时进行验证。 2. **视图(Views)**:视图是用户界面的表示层,...
而`backbone.sync.js`是Backbone的一个关键组件,专门用于处理数据的同步操作,与后端服务器进行通信。在本篇文章中,我们将深入探讨`backbone.sync.js`以及如何将其与Python的Django框架结合使用。 一、Backbone....
- **添加模型**:使用`add`方法可以将模型添加到集合中,例如`collection.add(model)`。如果模型已经存在于集合中,`add`方法将不会做任何操作。 - **删除模型**:`remove`方法用于移除集合中的模型,如`collection....
现在,您的模型将在对服务器的每个请求中检查ETag标头。 如果存在,则将在模型上将ETag设置为_version,并且将触发sync:version(args:模型,版本)事件。 在更新时,同步现在将自动将_version值作为If-
当模型或集合的数据发生变化时,可以通过`sync`方法将这些变更同步到服务器。 7. **URL路由(Router)**:Backbone Router是客户端路由的核心,它可以监听浏览器的URL变化,并根据路由规则执行相应的动作。在学习...
6. Sync:Sync模块定义了Model与服务器之间数据同步的机制,可以配置为RESTful、WebSockets等多种通信协议。 Backbone.js的模块化和轻量级设计使得它在大型应用开发中非常适用,特别是对于需要高可定制性和扩展性的...
通过深入学习本书提供的丰富示例,开发者不仅可以掌握Backbone.js的核心概念和最佳实践,还能了解到如何将其与其他技术(如jQuery、Underscore.js等)结合起来,共同构建出高性能且易维护的应用程序。
- `sync`: 这是一个用于与服务器通信的方法,基于Backbone.sync,通常用于CRUD(创建、读取、更新、删除)操作。 - `fetch`: 用于从服务器获取Model的最新数据。 - `save`: 将Model的更改保存到服务器。 - `destroy`...
- **sync**: 支持RESTful HTTP同步机制。 - **change**: 当属性发生变化时触发的事件。 - **validate**: 验证约束。 - **Backbone.Collection**:一组模型的集合。 - **add**: 添加一个或多个模型到集合中。 - ...
- **同步(Sync)**: 通过AJAX请求与服务器进行数据交换的方法。 - **路由器和历史记录**: 用于处理单页应用(SPA)中的URL导航和路由逻辑。 3. **MongoDB** - **数据访问**: 介绍如何连接MongoDB数据库以及基本...
1. **Model**:代表应用程序的数据模型,可以与服务器进行同步,并处理数据的验证和变化事件。 2. **View**:负责用户界面的渲染和事件处理,与模型绑定,当模型发生变化时,视图会自动更新。 3. **Collection**:一...
Backbone还提供了一系列内置功能,比如链式API、事件处理、集合(Collections)、以及与后端进行数据同步的Sync API。 Backbone.js还有一个重要的特性是它对RESTful持久化提供了支持,使得与服务器进行通信变得更加...
此外,Backbone.sync是模型和服务器间通信的桥梁,支持RESTful API。它允许开发者轻松地与服务器进行CRUD操作(Create、Read、Update、Delete)。 总的来说,Backbone.js通过提供一套MVC结构,使得前端开发更加模块...
5. **Backbone.sync**: 这是Backbone与服务器进行数据同步的接口。默认情况下,它使用AJAX(jQuery的$.ajax)来实现RESTful API的CRUD操作。开发者可以覆盖此方法,以适应不同的后端接口。 6. **Underscore.js**: ...
1. **Model和Collection的同步**:在`Backbone.sync`中,Backbone使用了AJAX(或fetch API)与服务器进行数据同步。默认实现是使用RESTful API,但可以通过`sync`方法进行自定义。 2. **View的事件绑定**:`...
6. **Sync**:Backbone的Sync方法用于与服务器进行数据交换,遵循RESTful API设计。在To-Do应用中,可能有保存和加载待办事项到服务器的功能,这将涉及到Model的`save`和`fetch`方法。 7. **Templating**:Backbone...
Backbone的灵活性和简洁性吸引了众多开发者,形成了丰富的插件生态系统,如Backbone.localStorage用于本地存储,Backbone Marionette提供了更高级的应用程序结构,Backbone Relational实现关联数据模型等,这些插件...
Backbone.js 是一款轻量级的JavaScript库,用于构建客户端的Web应用,它提供了一种组织和管理前端数据模型、视图以及与服务器交互的结构。这个文档将带你走进Backbone的世界,通过一个开发入门的例子,帮助你了解...
Backbone.js的`sync`方法是模型和集合与服务器之间进行数据交换的桥梁。默认情况下,`sync`使用jQuery的`ajax`方法实现RESTful API通信,但可以自定义以适应不同的API风格。 **7. 处理API交互** Backbone.js通过`...