我正试图让这种方法起作用:
that.model.save(null, // I'm calling that.model because this is nested in another method
{
url: 'some url',
success: function(model, response) {
// update stuff
},
error: function(model, response) {
// throw error.
}
});
但由于某种原因,它不会调用成功方法或错误方法。 评论我在哪里我正在调用方法...我不想深入了解我正在调用的所有方法的细节。另外save方法有效,它只是不调用那些方法的eater。
如果我尝试并且只是调用我执行的方法,那么:
success: that.somemethod()
javascript throws:未捕获TypeError:非法调用
任何帮助将不胜感激。
答案 0 :(得分:1)
该方法看起来很好,因为它使用与Backbone描述的相同的参数:
model.save([attributes], [options])
最有可能的情况是,您的成功/错误处理程序在原型链的某个位置被覆盖,而不是调用您的处理程序。
答案 1 :(得分:1)
首先,您必须绑定实例方法,然后将其分配给成功
that.model.save(null, // I'm calling that.model because this is nested in another method
{
url: 'some url',
success: _.bind(that.mySuccessMethod, that),
error: _.bind(that.myErrorMethod, that)
});