只有GET和POST的CRUD

时间:2012-08-29 21:45:58

标签: backbone.js crud

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

1 个答案:

答案 0 :(得分:5)

Backbone通过emulateHTTP建立了对此类内容的支持:

  

emulateHTTP Backbone.emulateHTTP = true

     

如果您想使用不支持Backbones默认REST / HTTP方法的旧版Web服务器,您可以选择启用Backbone.emulateHTTP。设置此选项会使用HTTP PUT伪造DELETEPOST个请求,并使用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请求的含义。