我尝试使用从远程网址加载的主干设置模型:https://api.github.com/legacy/repos/search/javascript。这是我到目前为止所拥有的。
var Repo= Backbone.Model.extend({});
var RepoCollection = Backbone.Collection.extend({
url : "https://api.github.com/legacy/repos/search/javascript",
model : Repo
});
var repos = new RepoCollection();
repos.fetch({success: function(){
console.log(repos.models);
}});
这只是给了我一个空数组。为什么这不起作用?这个url只包含一个非空的JSON数组。我也尝试过解析功能而没有任何成功。
parse : function(data) {
return data.results;
}
如果github api不支持这种调用,有没有人有一个远程url的例子,我可以用骨干来获取数据?
编辑:我应该补充一点,我查看了Chrome上的网络控制台,我收到了来自github的正确JSON响应的200 OK响应。我想我只是在弄清楚如何访问这些数据并用它填充我的RepoCollection。
答案 0 :(得分:0)
您可以尝试:
repos.fetch({success: function(data){
console.log(data);
}});
答案 1 :(得分:0)
您的数据包含在repositories
密钥中,而不是results
中,并且看起来像这样
{
"repositories": [
...
]
}
尝试
var RepoCollection = Backbone.Collection.extend({
url : "https://api.github.com/legacy/repos/search/javascript",
model : Repo,
parse : function(data) {
return data.repositories;
}
});