2011-07-05 45 views
2

我正在使用$.getJSON將對象返回給我的視圖。該對象包含許多列表,我需要迭代。如何才能做到這一點?我的代碼到目前爲止是:Asp.net MVC Ajax迭代

$.getJSON("/Home/GetData", 
     function (data) { 
      $.each(data, function (index) { 
       //access data here for each list in object? 
      }); 
     }); 

謝謝。

+0

這段代碼似乎很好......你想完成什麼?你是否需要迭代所有列表或列表中的項目... –

回答

0

如果我知道你要問什麼在這裏,你得到回JSON對象這種形式:

// result 
{ 
    people: [{...}, {...}, ... , {...}], 
    places: [{...}, {...}, ... , {...}], 
    ... 
} 

你應該首先遍歷您返回的JSON對象,然後在每個列表的項目逐一進行迭代。沿着這些線:

$.getJSON("/Home/GetData", function (data) { 
    // iterate over lists in an object 
    for(var list in data) 
    { 
     // list variable holds the name of the list (ie. "people") 
     // iterate over list items 
     $.each(data[list], function (index) { 
      // do something with this list item 
     }); 
    } 
}); 
0

當使用$。每次的簽名是:

$.each(data, function (index, item) { 
    //access data here for each list in object? 
}); 

這樣的項目可以直接訪問。另外,我認爲列表應該作爲一個數組推出,所以您可以根據需要添加任意數量的$ .each語句。下一個內部陣列可通過以下方式獲得:

$.each(item.SubList, function(si, sitem) { 

}); 

如果您發佈推送的數據結構,我們可以提供更多幫助。此外,您要返回的對象是匿名類還是強類型?你是否返回一個JsonResult?

HTH。

+0

無需通過'item'訪問當前項目。你可以很容易地使用'this'。 –