Backbone - 从 API 获取 JSON 数据

发布于 2024-12-23 08:32:05 字数 978 浏览 0 评论 0原文

最近几天我在玩 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 数据和主干的一些说明进行操作吗?

I'm playing around with Backbone these last days..

I want to receive some data from the twitter search API. But I don't really understand how it works. This is my code:

(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);

I don't think this could be right. But I don't know how to handle it :( Could someone help me or post a link where I could follow some instructions about json data and backbone please?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌化 2024-12-30 08:32:05

说明

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

如果不覆盖 Backbone.sync 方法,则无法访问 Twitter API(同源策略问题:http ://en.wikipedia.org/wiki/Same_origin_policy,解决方案已发布在这里:Backbone Collection jsonp ajax 结果未正确生成模型

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

示例

我使用您的代码创建了一个工作 jsFiddle : http://jsfiddle.net/Atinux/v4K6A/

就这样吧你可以开始更好地理解Backbone JS。

Expications

Your actual code doesn't work because you have a syntax error, and you just initialized the model.

You can't access to Twitter API without overwrite the Backbone.sync method (problem of the same origin policy : http://en.wikipedia.org/wiki/Same_origin_policy, the solution has already posted here : Backbone Collection jsonp ajax results not generating model correctly)

In my view, the best thing to learn Backbone JS is to understand how code works, and to help you, the Backbone JS documentation is here : http://documentcloud.github.com/backbone/

Example

I created a working jsFiddle with your code here : http://jsfiddle.net/Atinux/v4K6A/

So with it you can begin to better understand Backbone JS.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文