2013-01-23 53 views
0

我使用的庫philsturgeon /笨,restserver 獲取的JSON當我在控制檯響應部件檢查,我得到正確的JSON值回像同時通過_.each在underscorejs模板與backbonejs迭代入門不確定

this: [{name:test,address:test},{name:test2,address:test2}]. 

在前面我希望這些值顯示在模板中。但是當我做<%= JSON.stringify(ledgers) %>時,它只返回{"readyState":1}

我所說的模板,從我的觀點是這樣的:

$("#container-left").html(this.template({ledgers:app.ledgers.fetch()})); 

我的REST控制器功能看起來像:

public function index_get() 
{ 

    $this->response($this->db->get('ledgers')->result()); 
} 
+0

查看我的更新回答。 – nemesv

回答

1

你沒有正確使用方法fetch。由於fetch不返回數據時,它被稱爲所以你需要提供success回調填寫您的模板:

var self = this; 
app.ledgers.fetch({ 
    success: function(model, response, options) { 
     $("#container-left").html(self.template({ledgers: model})); 
    } 
}); 

_.each功能本身不會返回任何東西,所以你當你輸出的返回值你獲得未定。

你需要輸出你的函數裏面的數據與<%= name %>

<% _.each(ledgers, function(data){ %> <%= name %> <% }) %> 

演示JSFiddle

+0

好吧,這引發了一個令人討厭的錯誤,我認爲這完全是因爲不知道分類帳對象。有沒有一種方法可以查看分類帳對象的結構,因爲我從某個遠程源獲取它? – beNerd

+0

當您生成模板時,您可以指定一個變量名稱,以便您可以訪問模板中作爲數據傳遞的整個對象。然後,您可以在模板中輸出當前上下文:請參閱http://jsfiddle.net/yh6kp/。或者只是調試你的抓取代碼,看看返回的數據是怎麼樣的。 – nemesv

+0

我只得到這個{「readyState」:1}當我做一個JSON.stringify(總帳)。但是,當我檢查響應頭,我得到完整正確的JSON數據。 – beNerd