gpt4 book ai didi

collections - 无法使用 Backbone.js 集合从 Twitter RESTful API 获取数据

转载 作者:行者123 更新时间:2023-12-01 15:19:00 24 4
gpt4 key购买 nike

我正在尝试学习使用 Backbone.js 集合方法从数据库中获取数据:fetch()。

jsfiddle 示例是 here .

返回的对象长度为零,这意味着我没有得到任何结果。我可以很容易地使用 jquery ajax 获取 json,而 Backbone.sync 显然也在使用 .ajax 方法。我可以知道出了什么问题吗?

最佳答案

您遇到了两个问题。

首先是 twitter 的结果(您想将其转换为 Backbone 模型)位于“结果”属性下。要使用此数据,您需要重写集合中的解析方法。这是 Backbone 文档中使用的具体示例:

http://documentcloud.github.com/backbone/#Collection-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();

关于collections - 无法使用 Backbone.js 集合从 Twitter RESTful API 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6224839/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com