javascript - 为什么主干网不发送删除?

标签 javascript backbone.js

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

非常基本的模型:

window.User = Backbone.Model.extend({
  urlRoot: 'users'
});

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

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();
  }
});

创建模型时的 JSON 响应似乎也不错:

enter image description here

最佳答案

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

如果没有设置“identity”字段,Backbone 将认为模型实例“isNew”(一个尚未持久化到服务器的模型实例),所以当没有“identity”(如在您的情况下,因为它不知道您的身份是 _id),所以不需要在服务器上销毁它。

关于javascript - 为什么主干网不发送删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874202/

相关文章:

javascript - 使用 Jest 时防止 "test/expect/etc is not defined"错误

javascript - 像在 FireBug 中一样获取 PostData

javascript - 访问div隐藏参数

javascript - Backbone.js View 移除和解除绑定(bind)

javascript - 用于登录和注销功能的 Backbone.js 架构

javascript - Backbone - 在 ItemView 之外访问 View 的 $el.attr

javascript - 是否可以用变量确认提示警报?

javascript - 尝试使用从 JS 文本框中检索的数字进行计算时收到 NaN

backbone.js - backboneJS 使用哪种模板方法?

backbone.js - 如何更新 Backbone 或脊柱的一小部分 View