Javascript 在Backbone.js中,如何从URL获取数据?

Javascript 在Backbone.js中,如何从URL获取数据?,javascript,backbone.js,Javascript,Backbone.js,我试图从URL获取推文,该URL以以下形式返回数据: [ {"user":"someuser1","tweet":"this is a #tweet","date":"2011-09 02"}, {"user":"someuser2","tweet":"and this is a #tweet","date":"2011-09 02"}, {"user":"someuser3","tweet":"and this is another #tweet","date":"2011-09"

我试图从URL获取推文,该URL以以下形式返回数据:

[
  {"user":"someuser1","tweet":"this is a #tweet","date":"2011-09 02"},
  {"user":"someuser2","tweet":"and this is a #tweet","date":"2011-09 02"},
  {"user":"someuser3","tweet":"and this is another #tweet","date":"2011-09"}
]
我有一个模型

window.Tweet = Backbone.Model.extend({
  initialize: function(){
    this.bind('change',function(){
    })
  },
  defaults: {
    "user": "some-other-user",
    "tweet": "this is some tweet",
    "date" : "2012-01-06"
  }
});
我有一个收藏

window.Tweets = Backbone.Collection.extend(null,{
    url: '/tweets/',
    model: Tweet,
    parse: function(response) {
      return response.results;
    }
});
我有一个观点

window.TweetsView = Backbone.View.extend({
    el: $('#content-top'),
    initialize: function(){
        this.model.bind('change',this.render,this);
    },
    render: function() {

      var TweetsCollection = Backbone.Collection.extend({
        model : Tweet,
        url: '/tweets/',
        parse: function(response) {
          return response.results;
        }
      });

    var tweets = new TweetsCollection;
    tweets.fetch();

    console.log(tweets.toJSON());

   } ...
两者

给我“未定义”我缺少什么

编辑

如果我记录响应(在视图中),我确实会得到一些反馈:

[object Object],[object Object],[object Object]

所以,我很接近,但仍然缺少一些东西。

根据您的评论,我想说数据是正确的

尝试添加
console.log(响应)

在我的主干模型中,parse()方法只返回第一个参数,在您的例子中是response。我想你需要改变一下

return response.results;


这可能是一个愚蠢的问题,但您是否执行了
(new TweetsView()).render()
?是(不是一个愚蠢的问题:)。现在我意识到我放弃了parse函数,添加了它(更新了上面的代码),但当我登录到控制台时仍然得到一个空数组[]。当调用render()时,您应该会在firebug中看到一个GET请求。这是什么反应?我得到的是[{“用户”:“某用户1”,“推特”:“这是一条推特”,“日期”:“2011-09 02”},{“用户”:“某用户2”,“推特”:“这是一条推特”,“日期”:“2011-09 02”},{“用户”:“某用户3”,“推特”:“这是另一条推特”,“日期”:“2011-09”}上面的反应肯定让我有所收获,埃里克,它记录3个对象。紧接着Backbone.js(0.5.3)抛出错误:uncaughttypeerror:object不是函数发现问题后,Eric——感谢您的帮助。我在集合构造器中有一个名称空间模型,model:App.Tweet,这是一个很好的例子。在我删除后,它是好的,我现在得到的回应,我是在追求。
[object Object],[object Object],[object Object]
return response.results;
return response;