D3: невозможно загрузить json данных из базы данных, используя PHP - PullRequest
0 голосов
/ 04 мая 2020

У меня есть код D3 в main.js для загрузки данных из сценария PHP get_data.php и отображения его с использованием DataTables . После загрузки этой исходной таблицы всем строкам присваивается класс .data-cell, который я связываю с прослушивателем кликов, который загружает вторую таблицу, используя другой PHP script get_secondary_data.php.

$(document).ready(function () {

    d3.json('../php/get_data.php', function (data) {

        console.log(data);  // first console log output

        var rows = add_row(data);
        var cells = add_cell(rows); // draw cells and add class data-cell to each

        $('#data-table').DataTable();

        d3.selectAll('.data-cell').on('click', function (d) {
            // extract the data url
            console.log(d.data_url); // second console log output

            // draw secondary table
            load_secondary_table(d.data_url);

        });
    });
});

function load_secondary_table(data_url) {
    d3.json('../php/get_secondary_data.php', function (secondary_data) {
        console.log(secondary_data); // third console log output

        // drawing secondary table logic
    });
}

Первый Скрипт прекрасно загружает данные, и я вижу вывод первого консольного журнала. Второй консольный журнал тоже в порядке, я вижу data_url правильной строки, которую я нажимаю. Тем не менее, третий журнал консоли выводит вторичные_данные как null.

Я сам запустил второй сценарий PHP, и он вернул правильный результат. Я также проверил вкладку «Сеть» Chrome и увидел правильный вывод JSON в ответе на второй сценарий PHP. Он просто не загружается на мою страницу.

Могу я узнать, что не так?

1 Ответ

1 голос
/ 04 мая 2020

Вы уверены, что вернете действительный json? Скопируйте результат второго сценария в json валидатор

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