Чтение значений данных JSON по ключам в цикле $ .each - PullRequest
0 голосов
/ 03 сентября 2018

Я вернул данные JSON из контроллера (через ajax) и хочу получить доступ к этим данным. Это список объектов (массив): ключ - значение, поэтому я хочу использовать .each () для доступа ко всем данным. Массив так:

[{"filePath":"Desktop.zip","fileStatus":"Uploaded"},{"filePath":"Desktop\\dates.xml","fileStatus":"Uploaded"}]

и код:

$.ajax({
                    url: '@Url.Action("GetFilesNames", "Home")',
                    type: 'POST',                    
                    success: function (data) {                      

                        $.each(data, function (value) {
                            console.log(value['filePath'], value['fileStatus']);

                            });
                    }
                });

First picture, data isn't loaded

Но значение data.each не определено.

Итак, я попытался console.log всех данных, json.stringify, проанализировать (но как-то с ошибкой), и проанализировать stringyfied версию, но это не имеет смысла. Даже если я использую эту строковую версию (пути) или разобранную строковую версию (listOfFiles) с .each - тот же результат: undefined.

enter image description here

1 Ответ

0 голосов
/ 03 сентября 2018

См. документацию для jQuery.each:

Обратный вызов
Тип: Функция (целое число indexInArray, значение объекта)

Теперь посмотрите ваш код:

$.each(data, function (value) {

Вы пытаетесь прочитать свойства из аргумента first , который представляет собой Integer (индекс в массиве (), а не значение. Вам необходимо прочитать свойства из второго аргумента.

 $.each(data, function (index, value) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...