我最近几天在玩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数据和主干的说明吗?
答案 0 :(得分:12)
您的实际代码不起作用,因为您有语法错误,而您刚刚初始化了模型。
您无法在不覆盖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。