使用DELETE,PUT和& c代替默认同步方法,我将不得不使用GET和POST来执行CRUD操作。有没有比覆盖save(),fetch()和其他方法更优雅的方法来处理这个问题?
答案 0 :(得分:5)
Backbone通过emulateHTTP
建立了对此类内容的支持:
emulateHTTP
Backbone.emulateHTTP = true
如果您想使用不支持Backbones默认REST / HTTP方法的旧版Web服务器,您可以选择启用
Backbone.emulateHTTP
。设置此选项会使用HTTPPUT
伪造DELETE
和POST
个请求,并使用true方法设置X-HTTP-Method-Override
标头。如果同时启用emulateJSON
,则true方法将作为附加_method
参数传递。Backbone.emulateHTTP = true; model.save(); // POST to "/collection/id", with "_method=PUT" + header.
因此将Backbone.emulateHTTP
设置为true
并调整服务器端代码以查看X-HTTP-Method-Override
标头,以查看POST请求的含义。