在调用backbone.js destroy时获取记录id的位置

Jas*_*son 8 destroy backbone.js

我有一些测试代码,我只是想用来计算backbone.js.当我在模型对象骨干上调用destroy时,向我的休息服务发出DELETE请求.但是,我看不到任何ID表明在请求数据,查询字符串,正文或任何地方删除了哪条记录.

我的模型有一个id属性,我已经为它赋值1.我还有什么需要做的,以确保id通过服务器传递?或者是否有其他方式我应该检测哪些记录被删除?

编辑 - 这是相关代码:

var AccountModel = Backbone.Model.extend({
    url: 'Account/Update',
    id: null,
    username: ''
});

var accountM = new AccountModel({id: 1, username: 'test'});

accountM.destroy();
Run Code Online (Sandbox Code Playgroud)

当我查看调试器时,我看到了AJAX请求,它看起来像这样:

Request URL:http://localhost/probli/Account/Update
Request Method:DELETE
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

似乎不是一个ID或任何东西,没有发布数据.我做错了吗?谢谢.

sol*_*oth 17

您应该设置模型的urlRoot属性,然后让Backbone处理构建DELETEurl:

var AccountModel = Backbone.Model.extend({
    urlRoot: 'Account/Update',
    id: null,
    username: ''
});
Run Code Online (Sandbox Code Playgroud)

这将在accountM.destroy()调用时引发以下请求:

Request URL:http://localhost/probli/Account/Update/1
Request Method:DELETE
Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

  • 我还要补充一点,你*只需*urlRoot.如果你有url和urlRoot,你可能会遇到这个问题,删除url应该清除它. (2认同)