Backbone - 从API获取JSON数据

时间:2011-12-28 19:59:31

标签: jquery json twitter backbone.js

我最近几天在玩Backbone ......

我想从twitter搜索API收到一些数据。但我真的不明白它是如何运作的。这是我的代码:

(function($){

Tweet = Backbone.Model.extend();

Tweets = Backbone.Collection.extend(
    {
        model: Tweet,

        url: 'http://search.twitter.com/search.json?q=Hamburg&rpp=5&lang=all&callback=?',
        parse: function(response)
        {
            return response.results;
        }
    });

DefaultTweetView = Backbone.View.extend(
    {
        initialize: function(){
          _.bindAll(this, 'render');
     }

        template: _.template('<p>@<%= from_user %> <em></em></p><p><%= text %></p><p><%= location %></p>'),
        render: function()
        {

            $(this.el).html(this.template(this.model.toJSON()));
            return this;
        }
    });
app = new Tweet();
})(jQuery);

我认为这不对。但我不知道如何处理它:(有人可以帮助我或发布一个链接,我可以按照一些关于json数据和主干的说明吗?

1 个答案:

答案 0 :(得分:12)

Expications

您的实际代码不起作用,因为您有语法错误,而您刚刚初始化了模型。

您无法在不覆盖Backbone.sync方法的情况下访问Twitter API(同一来源政策的问题:http://en.wikipedia.org/wiki/Same_origin_policy,解决方案已在此处发布:Backbone Collection jsonp ajax results not generating model correctly

在我看来,学习Backbone JS的最好方法是了解代码是如何工作的,为了帮助你,Backbone JS文档就在这里:http://documentcloud.github.com/backbone/

实施例

我在这里使用您的代码创建了一个有效的jsFiddle:http://jsfiddle.net/Atinux/v4K6A/

因此,您可以开始更好地了解Backbone JS。