2012-02-25 52 views
0

我有以下功能:抓取數據與骨幹集合的子集

 addBook : function() { 
      _authors = new Array(); 
      authors = $("#id_authors").val().split(","); 
      for (var i=0;i<authors.length;i++) { 
       var firstname = authors[i].split(" ")[0]; 
       var lastname = $.trim(authors[i].replace(firstname,"")); 

       _authors.push({"firstname": firstname, "lastname": lastname}); 
      } 
      this.authors.fetch({data: _authors}); 

      console.log(this.authors); 
      return false; 
     } 

價值在#id_authors是托爾斯泰,理查德Pevear,拉里薩Volokhonsky。我想循環瀏覽這些內容,並僅爲這些作者獲取作者信息。

發生了什麼是它抓住了前20名作者(這不是碰巧是這些作者)。我如何使用集合只抓取指定的3位作者?

+0

你總是想加載3個作者或他們的動態設置? – yoda 2012-02-25 08:05:31

+0

off:而不是'new Array()',只需寫'[]' – biziclop 2012-02-25 08:16:19

+0

off:您還可以使用_.map將authors數組映射到您正在創建的名稱對象。 – 2012-02-25 08:24:24

回答

0

我不確定你正在運行的Backbone的版本,但它看起來像0.9.2你可能想使用「重置」而不是「獲取」作爲「重置」需要重置模型列表。

運行.fetch()時,它應該運行您的Backbone.sync()函數,該函數可能無法發送正確的查詢來請求這三位作者。

你應該檢查你的同步功能(如果你定義了一個)並且當你試圖獲取這3位作者時,看看這個url是什麼樣的。

如果您使用默認的RESTful方式加載數據,那麼請確保它傳遞正確的資源參數來查詢這3位作者。