我有一個構建的SharePoint 2010應用程序,它使用backbone.js從列表中檢索項目。到目前爲止,我可以使用.fetch()和.save()方法,但.destroy()方法不會執行任何操作。成功方法返回未定義。Backbone的model.destroy()不適用於SharePoint 2010 REST列表項目
這是我的模型。請注意,我爲每個SharePoint的規範設置了他們的REST API的工作方式。
app.model.Reservation = Backbone.Model.extend({
url : function() {
return this.get("Id") ? '/_vti_bin/listdata.svc/Reservations(' + this.get("Id") + ')' : '/_vti_bin/listdata.svc/Reservations';
},
parse: function(response) {
return response;
}
});
如果我嘗試this.model.destroy()不返回任何結果,但如果我使用的是直$。阿賈克斯()調用,它精細刪除:
$.ajax({
type: "DELETE",
url: this.model.url(),
contentType: "application/atom+xml"
});
我已經研究瞭如何重置Backbone的同步方法,但無濟於事。我試過Backbone.emulateHTTP和Backbone.emulateJSON。
您是否檢查過服務器日誌,以查看「$ .ajax」調用和'model.destroy()'生成的請求中有什麼不同?你有沒有在你的模型上設置['idAttribute'](http://backbonejs.org/#Model-idAttribute)屬性爲'Id''? –
當我在$ .ajax()調用中使用它作爲url時,'Id'字段似乎正常工作。但我只是嘗試了你的建議,沒有看到任何改變。但是,對於你的第一點......是否有像Chrome開發人員工具那樣的方法來檢查$ .ajax或.destroy方法在做什麼?我無法訪問服務器端日誌。謝謝! – bentedder
查看開發人員工具中「網絡」下的「XHR」。 –