在collection.fetch和collection.create中解析骨干模型

时间:2012-11-04 21:39:16

标签: rest backbone.js

在我的Backbone驱动的应用程序中,我正在使用REST功能。在后端,它的PHP。我正在为服务器的任何REST调用使用特定的响应结构。响应类型如下:

$response = array(
    "success" => // true/false,
    "data" => // can be an array or a value
    "message" => // a string
)

我有一个名为 team_member 的模型和一个名为 team_members 的集合。当调用team_members.fetch()时,服务器响应(在成功的情况下),如下所示:

$response = array(
    "success" => // true
    "data" => array(
          array (some member data),
          array (some member data),
          array (some member data)
     ),
    "message" => "Found 3 members"
)

问题在于,当获取单个模型时,我仍然希望像上面的样式一样响应,而不仅仅是发送成员数据的数组。但是当我这样做时,它不能很好地工作,因为在collection.fetch()中,数组是不同的。

解决此问题的最佳方法是什么,请记住,我希望后端响应样式保持一致,无论是单个模型还是集合。我希望我解释得很好。感谢。

1 个答案:

答案 0 :(得分:1)

好的,我解决了这个问题。我可以致电collection.fetch({ parse: false })。这会在集合上调用parse方法,但会抑制每个模型上的解析。因此,当我创建/更新特定模型时,我能够使用model.parse()函数。