javascript - Backbone 模型在应该使用 .save() PUT 时进行 POST

标签 javascript backbone.js backbone-model

所以我有一个通过 .fetch() 填充的模型,我的问题是。它要么总是 PUT,要么总是 POST,但 .save() 永远不会表现得“智能”。

该模型是通过提取填充的,如果从提取返回任何内容,它最多只能是单个项目,因此为其运行集合有点滥用。无论如何..我知道我的问题部分与我使用 idAttribute 有关,如果我使用它,.save() 总是会执行 PUT 如果我不使用它它始终是一个帖子。

my.Models.note = Backbone.Model.extend({
    idAttribute:'note',
    initialize: function (data) {
        this.user_id = data.user_id;
    },
    parse: function(response) {
        if (response.status == 'SUCCESS') {
            return response.data;
        }
    },

    url:function(data)
    {
        var url = '/notes/';
            url += '?user_id='+this.user_id;
        return url;
    }
});

最佳答案

这取决于您的数据,您从服务器获取的数据中应该有 id 属性,当您调用保存时,它会自动发送 PUT 调用。如果 id 为空,则它会发送 POST 调用

关于javascript - Backbone 模型在应该使用 .save() PUT 时进行 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795068/

相关文章:

javascript - 我可以用什么代替函数中的 document.write 来程序化生成 html?

javascript - backbone.js 和路由

javascript - 带有登录和搜索机器人的单页应用程序

javascript - 我的 Backbone 模型的验证方法在 model.fetch 上调用,但不在 collection.fetch 上调用

javascript - 声明无限对象的 JavaScript 数组

javascript - 如何创建两个变量的变量

javascript - Backbone.js:在模型中设置模型属性?

javascript - 在模型上生成自定义 Backbone 错误。保存成功

javascript - Superscrollorama - 多个元素的补间

javascript - 你能在 TypeScript 类中设置静态枚举吗?