为什么骨干不发送删除?

Nip*_*rus 3 javascript backbone.js

我有一个非常基本的骨干(样本)应用程序,它只是创建和销毁模型项.创建模型时,对象通过POST持久保存到Web服务器,但是当模型被销毁时,没有DELETE发送到服务器?知道为什么会这样吗?

非常基本的模型:

window.User = Backbone.Model.extend({
  urlRoot: 'users'
});
Run Code Online (Sandbox Code Playgroud)

我的测试代码只是为了创建和删除模型:

var model = null;

$(".add").click(function(){
  if (model == null) {
    model = new window.User;
    model.set({name: 'meeee'});
    model.save();
  }
});

$(".remove").click(function(){
  if (model != null) {
    model.destroy();
  }
});
Run Code Online (Sandbox Code Playgroud)

创建模型时的JSON响应似乎也很好:

在此输入图像描述

Jay*_*ayC 12

Backbone不知道_id是你用于id字段的名称,除非你以某种方式修改了Backbone.js的副本(请不要).要告诉Backbone你的id字段的名称是什么特定模型,你的模型定义中的idAttribute.否则,它默认为常规id.

如果没有设置"identity"字段,Backbone会考虑模型实例" isNew "(一个尚未持久保存到服务器的模型实例),所以当没有"身份"时(如你的情况那样,它不知道你的身份是,_id在服务器上没有任何需要销毁它.