Backbone.sync-将模型同步到服务器
by snandy
at 2013-06-06 18:40:00
original http://www.cnblogs.com/snandy/archive/2013/06/06/3121118.html
有以下几点
1 sync方法把model持久化存储到服务器端,你可以重写该方法的实现方式,它默认使用jQuery的$.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事件
附图