Ajax для чтения и печати JSON в браузере - невозможно прочитать карту свойств - PullRequest
0 голосов
/ 06 февраля 2019

Я раньше не работал с jquery или ajax, поэтому я надеюсь, что кто-то сможет пролить свет на проблему, с которой я сталкиваюсь.

Я работал над учебником здесь https://www.sitepoint.com/ajaxjquery-getjson-simple-example/ используя мои собственные данные json.

Я получаю сообщение об ошибке "Uncaught TypeError: Невозможно прочитать свойство 'map' of undefined"

Я не вижу, как мой код отличается от учебника(кроме нескольких имен переменных), поэтому я не уверен, где я иду не так.Любая информация будет принята с благодарностью.

<!DOCTYPE html>
<html>
<head>
    <title>tutorial 01</title>
    <meta charset="UTF-8">
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
    <button type="button" id="button">Load JSON</button>
    <div id="show-data"></div>

    <script>
        $(document).ready(function () {
            $('#button').click(function () {
                var showData = $('#show-data');

                $.getJSON('json.txt', function(data) {
                    console.log(data);

                    var items = data.items.map(function (item) {
                        return item.firstName + ' ' + item.lastName;
                    });

                    showData.empty();

                    if (items.length) {
                        var content = '<li>' + items.join('</li><li>') + '</li>';
                        var list = $('ul />').html(content);
                        showData.append(list);
                    }
                });
                showData.text('Loading the JSON file.');
            });
        });
    </script>
</body>

редактировать: данные JSON:

{"employees":[ {"firstName":"John", "lastName":"Doe"}, 
            {"firstName":"Anna", "lastName":"Smith"},
            {"firstName":"Peter", "lastName":"Jones"}
         ]}

1 Ответ

0 голосов
/ 06 февраля 2019

Вы должны получить доступ к свойству сотрудников на объекте данных

var items = data.employees.map(function (item) {
                            return item.firstName + ' ' + item.lastName;
                        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...