我有一个模型,具有url属性。当我使用"save"方法保存模型时,它正在向服务器发送请求。如果通信成功,则触发success()方法;如果通信失败,则触发"error"函数。但是,如果没有通信问题,但由于某些服务器验证或其他原因,服务器发送了"失败消息",该怎么办?由于服务器端验证(或其他验证),模型没有保存在服务器中。所以,它也不应该保存在主干模型中。当服务器发送"错误更新数据库"时,我应该如何告诉模型不要保存,并在我收到"成功更新"时告诉它保存我从服务器发送以下响应:
$this->response(
array(
'model'=>$model,
'status'=>$status,
'metamodel'=>array(),
'message'=>$msg (either success or fail)(my custom message)
)
);
在客户端,我是这样保存的。
model.save(attr{
success:(model,res)->
// to do when communication success
error:(model,res)->
//to do when communication fails
})
那么,我如何根据消息或状态来检查服务器是否成功?而且,当服务器说"不"时,我如何告诉模型不保存或恢复更改(不是内部服务器错误,我的自定义错误bcoz验证或其他原因)
此外,我如何使用Backbone.Sync方法(请提供与我的代码相关的示例)它做什么?(请明确说明是通信问题还是自定义错误台面或内部服务器错误)
我可以访问"成功"方法中的"状态"answers"消息",但我如何使用它们来恢复对模型的更改。感谢
覆盖模型上的parse(response)
方法并检查错误标志。http://documentcloud.github.com/backbone/#Model-解析