我正在尝试更新数据库中的记录,因此我正在使用数据定义模型并调用 .save() 方法。触发 PUT 请求并更新数据库条目。问题是既没有调用成功回调,也没有调用错误回调。可能是什么原因?
sessionsModel.save({
error: function() {
alert('test');
},
success: function () {
alert('test');
}
});
编辑:请求返回 JSON 对象
我正在尝试更新数据库中的记录,因此我正在使用数据定义模型并调用 .save() 方法。触发 PUT 请求并更新数据库条目。问题是既没有调用成功回调,也没有调用错误回调。可能是什么原因?
sessionsModel.save({
error: function() {
alert('test');
},
success: function () {
alert('test');
}
});
编辑:请求返回 JSON 对象
刚刚发现问题已解决的类似问题。你必须把一些东西作为第一个参数(我把 null 因为我的模型已经明确地填充了数据)和带有回调的对象作为第二个参数。所以像;
sessionsModel.save(null, {success:function() {} });
在搜索这个时,我首先登陆了这个对我不起作用的SO 线程,但似乎对其他人有用,后来我碰到了这个链接,有人尝试过null
而不是{}
作为第一个参数。
this.model.save(null, {
success: function (model, response) {
console.log("success");
},
error: function (model, response) {
console.log("error");
}
});
所以,这对我有用。希望这对你也有帮助。
您的服务器必须返回一个 JSON 对象。如果响应不是 JSON 对象,则不会触发回调。检查此解决方案https://stackoverflow.com/a/22176044/1579718
我遇到了这个问题 - 但因为我的服务器正在使用有效的 JSON 对象(模型)进行响应,并且我已经null
在保存调用中使用了,所以我一直在苦苦挣扎。
正如我(最终)发现的那样,在触发成功回调之前,返回的模型通过 validate 方法传递。在我的情况下,我遇到了一个(当你在正确的地方寻找时很明显)问题,导致返回的模型被视为无效并随后阻止了成功回调。
虽然我很欣赏这对 OP 没有帮助,但我发布这个是希望它可以帮助遇到同样问题的其他人。