对主干保存请求调用成功回调
Call success callback on Backbone save request
我想与服务器同步骨干模型,并在从服务器收到成功响应时做一些事情。发送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/-它不会重现这个问题,因为我不知道如何正确设置jsfilidle(如果可能的话)以响应我的工作环境。只是为了显示代码运行正常
对于一个空的PUT响应应该调用成功处理程序,我已经在这里分叉了你的jsfiddle:http://jsfiddle.net/tbvw4cbm/
var settingService = Backbone.Model.extend({
"url": "http://www.mocky.io/v2/57d018e41000004c00208c95",
"sync": function(method) {
我已经使用http://www.mocky.io/和CORS响应头设置了端点(因此JSFiddle可以评估它):
- Access-Control-Allow-Origin: http://fiddle.jshell.net
- Access-Control-Allow-Methods:把
- Access-Control-Allow-Headers:内容类型
但关键是响应体是空的,如果你检查jsfiddle中的ajax请求你会看到
相关文章:
- 解析云代码错误:解析.错误{代码:141,消息:“未调用成功/错误”}
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- 如何在 http 调用成功时禁用锚标记
- 未调用成功/错误
- 从ajax调用成功内部访问变量
- AJAX函数调用成功
- ajax调用成功,但未返回任何数据
- 当调用成功时,如何从angular 2中的http调用返回数据
- 如何使用React从ajax调用成功后重定向
- jQuery getJSON在成功时从不调用成功函数
- 调用成功后重新创建数据,AJAX
- 如何在node中编写事件发射器.js让你创建一个函数“myFunction”,然后在运行时调用成功或失败
- 函数调用成功后的角度$timeout
- 延迟链接 - 然后在上一个调用完成但出现错误时调用成功回调
- 第一个角度$http POST 落入 .then 错误路径,即使 REST 调用成功
- 对 asmx Web 服务的 Ajax/json 调用成功完成,但无法显示结果数据
- 未调用成功/错误 - 解析代码 141
- 从 AJAX 调用成功时返回“0”或 0
- 为什么当一个几乎相同的ajax调用成功时,我的ajax调用会失败
- Jquery post偶尔不调用成功或错误函数