我的模型看起來像這樣:我可以使用Backbone.js模型查詢服務器嗎?
var Item = Backbone.Model.extend({
urlRoot: '/item/ajax_get'
});
如果我想從數據庫中的特定項目,我可以這樣做:item = new Item({id: 11});
但如果我不知道該項目的id
那我想取?相反,我想查詢數據庫(通過AJAX)以獲取排序爲timestamp
的最新item
。這可能與Backbone.js?
我的模型看起來像這樣:我可以使用Backbone.js模型查詢服務器嗎?
var Item = Backbone.Model.extend({
urlRoot: '/item/ajax_get'
});
如果我想從數據庫中的特定項目,我可以這樣做:item = new Item({id: 11});
但如果我不知道該項目的id
那我想取?相反,我想查詢數據庫(通過AJAX)以獲取排序爲timestamp
的最新item
。這可能與Backbone.js?
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);
});
這可以作爲POST發送,而不是得到? – Shamoon
發送它作爲'POST'而不是'GET'不是很安靜; Backbone.js使用'POST'來保存新創建的項目。 AFAIK你將不得不直接使用jQuery XHR,即用自定義的東西覆蓋模型的'fetch'方法。 – quinnirill
不只有骨幹類似下面的代碼。你需要一些服務器端代碼,這些代碼可以通過一些AJAX函數調用... –
我可以處理服務器端代碼,只是不知道如何使它與Backbone一起工作 – Shamoon