只有GET和POST的CRUD

kon*_*onr 3 crud backbone.js

使用DELETE,PUT和c代替默认同步方法,我将不得不使用GET和POST来执行CRUD操作.有没有比覆盖save(),fetch()和其他方法更优雅的方法解决这个问题?

mu *_*ort 5

Backbone通过emulateHTTP以下方式内置了对此类内容的支持:

emulateHTTP Backbone.emulateHTTP = true

如果您要使用不支持Backbones的默认REST/HTTP方法的旧Web服务器,您可以选择打开Backbone.emulateHTTP.设置此选项将伪造PUTDELETE使用HTTP请求,使用true方法POST设置X-HTTP-Method-Override标头.如果emulateJSON也是打开,则true方法将作为附加_method参数传递.

Backbone.emulateHTTP = true;

model.save();  // POST to "/collection/id", with "_method=PUT" + header.
Run Code Online (Sandbox Code Playgroud)

因此,设置Backbone.emulateHTTPtrue和调整服务器端代码来看看X-HTTP-Method-Override头,看看请求都应该是什么意思POST.