サーバーからバックボーンモデルを同期し、サーバーから正常な応答を受け取ったときに何らかの処理を行いたいとします。 PUT要求は送信であり、応答statusCodeは200ですが応答本体は空です。成功コールバックは、応答が空でない場合にのみ呼び出されます。バックエンドチームは私に何の応答も送らないでしょう。そこで、エラーコールバック内のステータスコードをチェックするよりも優れた解決策があります。もっと "正しい"? - 私は私の仕事のenvのように応答するcorretcly(そのさえ可能ならば)どのようにセットアップjsfiidleに知っていないとして、それが問題を再現しませんバックボーン保存要求で成功コールバックを呼び出す
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/:ここでは、コードです。ただ、コードが正しく