Marionnette中的所有内容都必须是对象或集合

时间:2013-10-24 13:41:13

标签: backbone.js marionette

我正在编写一个将订单发送到远程服务器的应用程序。我现在有很多逻辑用于设置新订单。项目被添加到购物车,创建了购物车总数,现在我已准备好点击服务器端点。目前,REST API(由一个单独的团队构建)需要我:

  • 发送新的订单请求并收到新的订单号
  • 循环浏览我的购物车,将每个项目分别发送到新订单端点
  • 发送订单总计
  • 发送付款选项和金额
  • 将最终数据作为收据退还给客户

我目前有 - 包含物品模型的购物车集合 - 总计模型

我不是特别寻找代码,但有人可能会概述一种将数据发送到服务器的方法。我正在尝试如何使用集合和API URI端点来执行此操作,但没有任何先例可以遵循。在Marionette / Backbone应用中,使用defferds和promises对服务器使用直接POST请求还是更好的方法是否自然?

我会很感激正确方向的任何指示,

1 个答案:

答案 0 :(得分:0)

通常,在与REST API交互时,您不需要/不应该使用直接POST请求。 Backbone模型和集合旨在与开箱即用的模型进行交互。

如果您将集合定义为:

var Items = Backbone.Collection.Extend({ url: '/items' });
var myItems = new Items();
myItems.fetch();

然后当您在集合上调用'fetch'时,将向您指定的URL发出GET请求,该URL将使用返回的模型填充集合。您可以向此集合添加模型,该模型将向端点发出适当的请求。例如。一个帖子。上面的集合的默认映射如下:

  • 创建 - > POST'/ items'
  • 阅读 - > GET'/ items [/ id]'
  • 更新 - > PUT'/ items / id'
  • 删除 - > DELETE'/ items / id'

其中很多内容都是可覆盖和可配置的,这样您就可以适应您构建的API。