php - 主干 - 我们的模型如何知道服务器是否使用 PHP 发送 "Error Message"

标签 php codeigniter backbone.js sync

我有一个模型,有 url 属性。 当我使用“保存”方法保存模型时,它正在向服务器发送请求。 如果通信成功,则触发 success() 方法,如果通信失败,则触发“错误”功能。 但是,如果没有通信问题,但是当服务器由于某些服务器验证或其他原因发送“失败消息”时怎么办? 作为,由于服务器端验证(或其他),模型未保存在服务器中。 所以,它也不应该保存在 Backbone 模型中。 当服务器发送“错误更新数据库”时我应该如何告诉模型不要保存并在我收到“成功更新”时告诉它保存 我从服务器发送以下响应:

    $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 方法(请与我的代码相关的实际示例) 它有什么作用? (请清楚说明是通信问题还是自定义错误信息或内部服务器错误)

我可以在“成功”方法中访问“状态”和“消息”,但我如何使用它们来恢复对模型的更改。 谢谢

最佳答案

覆盖模型上的 parse(response) 方法并检查错误标志。 http://documentcloud.github.com/backbone/#Model-parse

关于php - 主干 - 我们的模型如何知道服务器是否使用 PHP 发送 "Error Message",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9993944/

相关文章:

php - Codeigniter 返回空结果集,但返回 num_rows(5)

javascript - Backbone.js - 排序和迭代 - 比较器不起作用

javascript - 主干 : Making Collections out of JSON attributes advice, 并使事情变得更好

javascript - 未捕获的 TypeError : this. getKeyCode 不是函数

php - 使用 REGEX 验证带有 GET 参数的域名

PHP:将未声明的类属性的默认可见性更改为 protected /私有(private)

php - 在 Laravel 中找不到类 'Predis\Client'

php - CSS 不适用于 CodeIgniter

php - 交叉引用同一个表中的2个字段

mysql - 如何在 codeigniter 中编写 3 where_in() 的查询