Collections 无法使用Backbone.js集合从Twitter RESTful API获取数据
我正在尝试学习使用Backbone.js收集方法从数据库获取数据:fetch() jsfiddle示例如下所示Collections 无法使用Backbone.js集合从Twitter RESTful API获取数据,collections,backbone.js,Collections,Backbone.js,我正在尝试学习使用Backbone.js收集方法从数据库获取数据:fetch() jsfiddle示例如下所示 返回的对象长度为零,这意味着我不会返回任何结果。我可以很容易地使用jquery ajax获得json,而且Backbone.sync显然也使用了.ajax方法。我能知道怎么了吗 您遇到了两个问题 首先,twitter的结果(你想变成主干模型的结果)位于“结果”属性下。要使用此数据,需要重写集合中的parse方法。这是主干文档中使用的具体示例: 第二个问题是fetch()方法是异步的,
返回的对象长度为零,这意味着我不会返回任何结果。我可以很容易地使用jquery ajax获得json,而且Backbone.sync显然也使用了.ajax方法。我能知道怎么了吗 您遇到了两个问题 首先,twitter的结果(你想变成主干模型的结果)位于“结果”属性下。要使用此数据,需要重写集合中的parse方法。这是主干文档中使用的具体示例: 第二个问题是fetch()方法是异步的,因此当您获取集合的“长度”时,它发生在响应从twitter返回之前,因此其长度仍然为0 您需要设置一个事件处理程序来侦听“获取”的结果,然后输出长度:
var Tweet = Backbone.Model.extend();
var Tweets = Backbone.Collection.extend({
model: Tweet,
url: 'http://search.twitter.com/search.json?q=obama&callback=?',
parse: function(response) {
return response.results;
}
});
var tweets = new Tweets();
tweets.bind('reset', function(collection) {
alert(collection.length);
});
tweets.fetch();
如果我也想知道确切的结果,那我该怎么办?嘿,请告诉我为什么我们要使用
require.js
和backbone.js
。我已经启动了jstbackbone.js
,但在一些示例中它只使用了require.js
,所以我有点困惑于require.js
&backbone.js
有人能帮忙吗?