2014-06-27 42 views
1

我正在嘗試使用從遠程網址加載的骨幹網建立模型:https://api.github.com/legacy/repos/search/javascript。這是我到目前爲止。從遠程URL錯誤中獲取骨幹網集合

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

這只是給了我一個空的數組。爲什麼這不起作用?該網址只包含一個非空的JSON數組。我也嘗試瞭解析函數,沒有任何成功。

parse : function(data) { 
    return data.results; 
} 

如果GitHub的API不支持這種調用的,沒有任何人有一個遠程URL,我可以用骨幹,以獲取數據的例子嗎?

編輯:我應該補充一點,我看着Chrome上的網絡控制檯,我得到了一個200 OK響應,並帶有來自github的正確JSON響應。我想我只是無法弄清楚如何訪問這些數據並用它填充我的RepoCollection。

回答

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

和演示http://jsfiddle.net/nikoshr/vHX7C/

+0

謝謝,這很好。 – user3783608

0

你可以試試:

repos.fetch({success: function(data){ 
    console.log(data); 
}});