Backbone model.save()不调用错误或成功回调

时间:2012-07-04 03:49:35

标签: backbone.js

我正在尝试更新数据库中的记录,因此我使用数据定义模型并调用.save()方法。触发PUT请求并更新数据库条目。问题是既没有成功也没有调用错误回调。可能是什么原因?

sessionsModel.save({
    error: function() {
        alert('test');
    },
    success: function () {
        alert('test');
    }
});

编辑:请求返回JSON对象

4 个答案:

答案 0 :(得分:73)

刚刚发现问题解决的类似问题。你必须把一些东西作为第一个参数(因为我的模型已经明确地填充了数据,所以我把它放在空白处)和作为第二个参数的回调对象。所以像;

sessionsModel.save(null, {success:function() {} });

答案 1 :(得分:22)

在搜索时,我首先登陆this SO thread这对我不起作用,但似乎对其他人有效,后来我碰到了this link,其中有人试过了{{1}而不是null作为第一个参数。

{}

所以,这对我有用。希望这对你也有帮助。

答案 2 :(得分:19)

您的服务器必须返回JSON对象。如果响应不是JSON对象,则不会触发回调。 请检查此解决方案https://stackoverflow.com/a/22176044/1579718

答案 3 :(得分:3)

我遇到了这个问题 - 但是因为我的服务器正在使用有效的JSON对象(模型)进行响应而且我已经在我的保存调用中使用c而感到挣扎。

正如我(最终)发现的那样,在成功回调被触发之前,返回的模型将通过validate方法传递。在我的情况下,我有一个(当你在正确的位置看时很明显)问题导致返回的模型被视为无效并随后阻止成功回调。

虽然我很欣赏这对OP没有帮助,但我发布这篇文章是为了帮助其他人解决同样的问题。