【发布时间】:2014-02-23 17:21:07
【问题描述】:
我正在使用 Backbone 进行我的第一个主要项目。我有一个名为SignUpView 的主干视图,其方法如下:
register: function(){
this.model.save({
email: $('#email').val(),
password: $('#passwd').val()
},{
success: function(model, response){
console.log("Registration succeeded, congrats!");
window.location.hash = '';
},
error: function(model, response){
console.log("Registration failed, reason = "
+ response.responseText
+ " (status "+response.status+")");
}
});
return false;
}
但是,每当我运行它时,只会调用 error 回调。这会导致奇怪的行为,例如控制台日志记录
Registration failed, reason = Registration succeeded (status 200)
("注册成功"是注册成功后服务器发回的,否则会显示"Missing parameter 'password'"或者"Invalid email format"之类的。)
我知道我可以简单地在错误块中捕获 200 状态代码,但我不喜欢这样一个事实,即我必须在标记为“错误”的函数中处理成功的帖子。我知道这可能是一件非常简单和愚蠢的事情,但我就是找不到问题所在。
【问题讨论】:
-
尝试在成功前删除“},{”
-
因为
model.save需要两个参数:一个包含要更新的字段,一个包含回调。