我有一个使用Node.js编写的RESTful服务。如果我在浏览器中打开http://localhost:5000/links,我将获得链接集合:
[{"_id":"5597f5d3e9a768531c07468a","uri":"http://google.com","title":"google","__v":0,"tags":["one","two"]}]
我需要从骨干应用程序中获取此集合:
(function () {
var Link = Backbone.Model.extend({});
var LinkCollection = Backbone.Collection.extend({
model: Link,
url: 'http://localhost:5000/links'
});
var links = new LinkCollection();
links.fetch();
console.log(links);
console.log(links.length);
})();
这是一个控制台:
我可以看到我的对象在控制台的右侧(c3.attributes
)。但为什么收集的长度为零?我怎样才能得到这个对象?
答案 0 :(得分:2)
经典主干问题。
试试这个:
links.fetch({
success:function(response) {
//here are your results
}
});
编辑:我认为一个集合会返回一个承诺,所以另一种解决方案可能是:
links.fetch().then(function(response) {
});
我自己没有使用它,但我认为它应该有用。希望它有所帮助。