【发布时间】:2017-01-15 02:56:10
【问题描述】:
我想将骨干模型与服务器同步,并在从服务器接收到成功响应时做一些事情。 PUT 请求已发送,响应 statusCode 为 200,但响应正文为空。只有当响应不为空时才会调用成功回调。后端团队不会给我任何回复。那么有没有比检查错误回调中的状态码更好的解决方案。更“正确”?代码如下:
var settingService = Backbone.Model.extend({
"url": "usersettings",
"sync": function(method) {
if (method === "create") {
arguments[0] = "update";
}
return Backbone.sync.apply(this, arguments);
},
});
var SettingsView = Backbone.View.extend({
initialize: function() {
this.services = {
"userSettingsService": new settingService()
};
},
saveSettings: function() {
this.services.userSettingsService.save({
"currency": "USD",
"dateFomat": "DD-MM-YYYY"
}, {
"success": function(model, response) {
console.log("it will not log anything");
},
"error": function(model, response) {
if (response.statusCode === 200) {
console.log("but will log here");
}
}
})
}
});
var settings_view = new SettingsView();
settings_view.saveSettings();
http://jsfiddle.net/ovg3kyqz/7/ - 它不会重现该问题,因为我不知道如何正确设置 jsfiidle(如果可能的话)以在我的工作环境中做出响应。只是为了表明代码工作正常
【问题讨论】: