我可以使用Backbone.js模型查询服务器吗?

时间:2013-07-27 15:19:25

标签: ajax backbone.js backbone-model

我的模型看起来像这样:

  var Item = Backbone.Model.extend({
    urlRoot: '/item/ajax_get'
  });

如果我想从数据库中获取特定项目,我可以:item = new Item({id: 11});

但是如果我不知道我想要获取的项目的id怎么办?相反,我想查询数据库(通过AJAX)以获取按item排序的最新timestamp。 Backbone.js可以实现吗?

1 个答案:

答案 0 :(得分:3)

Backbone.js是为RESTful API设计的,所以在这些术语中,您要查找的是按时间戳降序排序的集合的第一项。这意味着你所看到的就像是

GET /items/?count=1&sortBy=timestamp&order=descending

这意味着你在backbone.js

中有类似下面的代码
var Item = Backbone.Model.extend({
});

var ItemCollection = Backbone.Collection.extend({
  model: Item,
  url: '/items/'
});

var collection = new ItemCollection();

collection.fetch({
  data: {
    count: 1,
    sortBy: 'timestamp',
    order: 'descending'
  }
}).then(function () {
  var myItem = collection.models[0];
}, function (error) {
  console.log(error);
});