2012-08-29 41 views
3

取代默認的同步方法,使用DELETE,PUTs & c,我將不得不使用GET和POST來執行CRUD操作。有沒有比覆蓋save(),fetch()和其他方法更優雅的方法來解決這個問題?只有GET和POST的CRUD

回答

5

骨幹已建成這樣的事情支持通過emulateHTTP

emulateHTTPBackbone.emulateHTTP = true

如果你想與不支持骨幹網的默認REST/HTTP方式的傳統網絡服務器工作,您可以選擇打開Backbone.emulateHTTP。設置此選項將僞造PUTDELETE請求,並使用HTTP POST,並使用true方法設置X-HTTP-Method-Override標頭。如果emulateJSON也處於打開狀態,則真實方法將作爲附加_method參數傳遞。

Backbone.emulateHTTP = true; 

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

所以設置Backbone.emulateHTTPtrue和調整您的服務器端代碼看X-HTTP-Method-Override頭看到的請求都應該是什麼意思POST。