3

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

4

1 回答 1

5

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

模拟HTTP Backbone.emulateHTTP = true

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

Backbone.emulateHTTP = true;

model.save();  // POST to "/collection/id", with "_method=PUT" + header.

因此,设置Backbone.emulateHTTPtrue调整您的服务器端代码以查看X-HTTP-Method-Override标头以了解 POST 请求的含义。

于 2012-08-29T22:12:48.037 回答