主干-我们的模型如何知道服务器是否发送;错误消息";使用PHP

主干-我们的模型如何知道服务器是否发送;错误消息";使用PHP,php,codeigniter,backbone.js,sync,Php,Codeigniter,Backbone.js,Sync,我有一个模型,有url属性。 当我使用“save”方法保存模型时,它正在向服务器发送请求。 如果通信成功,则触发success()方法,如果通信失败,则触发“error”函数。 但是,如果没有通信问题,但由于某些服务器验证或其他原因,服务器发送“失败消息”,该怎么办? 由于服务器端验证(或其他验证),模型未保存在服务器中。 因此,它也不应该保存在主干模型中。 当服务器发送“错误更新数据库”时,我应该如何告诉模型不要保存,当我收到“成功更新”时,我应该如何告诉模型保存 我正在从服务器发送以下响应:

我有一个模型,有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
         })
那么,如何根据消息或状态检查服务器是否成功? 而且,当服务器说“否”(不是内部服务器错误、我的自定义验证错误或其他原因)时,我如何告知模型不保存或恢复更改

另外,我如何使用Backbone.Sync方法(请提供与我的代码相关的实际示例) 它有什么作用?(请清楚说明是通信问题还是自定义错误或内部服务器错误)

我可以在“success”方法中访问“status”和“message”,但如何使用它们来恢复对模型的更改呢。 谢谢

覆盖模型上的
parse(response)
方法并检查错误标志。

如果您的后端设置为处理REST请求,则无需更改主干的同步方法。它应该是现成的。要处理错误,应该在出错时发送正确的HTTP代码,而不是默认的200。如果这样做,它应该调用错误处理程序。我从未使用过CodeIgniter,但我确信有办法更改响应中的http代码。如何在出现错误时发送http代码?你是指状态消息?以下是指向主干手册所述内容的链接:。阅读“保存”部分。它说返回一个“非200 HTTP响应代码”来调用erro代码。同样,我从未使用过CodeIgniter,但是查看他们的手册,您可以使用$this->output->set_status_header(代码,'text')设置HTTP响应;是的,我想使用“wait:true”,意思是我想在前端提交对模型的更改之前等待服务器确认,但是我如何实现它,你能告诉我吗?