默認情況下,只要保存模型(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事件