Asp.net MVC Ajax итерация - PullRequest
2 голосов
/ 05 июля 2011

Я возвращаю объект моему виду, используя $.getJSON.Объект содержит несколько списков, которые мне нужно перебрать.Как это может быть сделано?Пока мой код:

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

Если я понимаю, что вы спрашиваете здесь, вы получаете объект 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 голосов
/ 05 июля 2011

При использовании $ .each подпись:

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

Таким образом, предмет может быть доступен напрямую. Кроме того, я думаю, что список должен передаваться в виде массива, чтобы вы могли иметь любое количество операторов $ .each, сколько вам нужно. Следующий внутренний массив будет доступен через:

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

});

Если вы опубликовали структуру данных, мы могли бы помочь больше. Кроме того, объект, который вы возвращаете, это анонимный класс или строго типизированный? Вы возвращаете JsonResult?

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...