不会触发模型保存成功回调

时间:2014-06-16 10:11:32

标签: javascript jquery rest backbone.js

我有一个有形式的模态视图。当我尝试保存模型时,会进行REST调用,之后我需要关闭模态视图..

self.myModel.url = "api/myClass/";      
self.myModel.save({
    success: function() {
        self.trigger("afterSave");
        self.removeModal();
    }
}).fail(function() {
    $('#save', self.el).button('reset');
});

现在我的REST API代码执行得很好......我已经在REST资源的最后一个return语句中进行了调试.. 但是我的JS代码没有进入成功回调函数。

我是否在使用JS语法做错了什么?

2 个答案:

答案 0 :(得分:1)

所以这是你的问题:

self.myModel.save({
    success: function() {
        self.trigger("afterSave");
        self.removeModal();
    }
})

.save()方法期望第一个参数是数据。第二个对象应该包含选项。 如果您没有要传递任何数据,则应将上述调用修改为:

self.myModel.save({},{
        success: function() {
            self.trigger("afterSave");
            self.removeModal();
        }
    });

你应该这样设置!建议您查看文档:{​​{3}}

答案 1 :(得分:0)

save()的第一个参数应该是模型数据,第二个是回调

self.myModel.url = "api/myClass/";      
self.myModel.save({
     "name":"Bob"
   },{
     success: function() {
        self.trigger("afterSave");
        self.removeModal();
     }
   }).fail(function() {
   $('#save', self.el).button('reset');
});