在模型章节的保存方法中,Backbone.js 文档说:
相反,如果您只想将更改后的属性发送到服务器,请调用 model.save(attrs, {patch: true})。您将收到仅包含传入属性的服务器的 HTTP PATCH 请求。
来源:http ://backbonejs.org/#Model-save
我找不到一个很好的解释这实际上是如何工作的(如果它真的有效!)。它应该只使用传入的属性向服务器发送一个 PATCH 请求,但它总是向服务器发送一个 POST 请求,其中包含模型的所有属性。使用 Firebug,我在更改时看不到任何区别Backbone.emulateHTTP
:Firebug 总是使用 save 方法显示 POST 请求。
我在这里创建了一个测试:http: //jsfiddle.net/r9kXL/ 注意url当然不存在,但重要的是在Firebug中查看POST请求。如您所见,如果您尝试仅发送一个属性,它将始终将所有内容发送到服务器,从而使该选项完全无用。
为什么 Backbone 开发人员提供此选项,它的用途是什么?你能举个例子来说明它的用法吗?