【问题标题】:Model save success callback is not fired [duplicate]模型保存成功回调未触发[重复]
【发布时间】:2014-06-16 10:11:31
【问题描述】:

我有一个模态视图,它有一个表单。当我尝试保存模型时,会进行 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 资源的最后一个返回语句...... 但是我的 JS 代码并没有进入成功回调函数中。

我的 JS 语法有问题吗?

【问题讨论】:

  • 你能粘贴你从 /api/myClass 得到的响应吗?
  • 是标准的 JSON 格式输出...

标签: javascript jquery rest backbone.js


【解决方案1】:

所以这是你的问题:

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

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

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

你应该都这样!建议您查看文档:Backbone Docs

【讨论】:

  • +1 获取文档链接
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-05-04
    • 2018-12-23
    • 2014-02-22
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 2012-03-15
    • 1970-01-01
    相关资源
    最近更新 更多