Передача Jquery Array в PHP скрипт через окно подтверждения через ajax - PullRequest
0 голосов
/ 03 октября 2019

Я просмотрел все предложенные ответы и дубликаты, но я не вижу, что мне не хватает. Из различных решений, которые я видел, это должно работать.

Я передаю массив примеров jQuery в скрипт PHP через Ajax, когда пользователь нажимает OK во всплывающем окне подтверждения. (Окно подтверждения срабатывает, когда пользователь использует метод масштабирования shift-select, который, в свою очередь, выталкивает имена сэмплов, найденные внутри поля масштабирования, в переменную download_list.)

За исключением того, что это не похоже навызывая мой PHP-скрипт, когда пользователь нажимает OK.

PHP-скрипт перебирает входные имена и создает ряд файлов в zip-архиве. Но попытка передать данные с помощью этого метода не очень удачна.

console.log примера download_list

["b01", "1._s16", "2._s17", "3._s18 ", "4._s19", "5._s20", "6._s21", "s01", "s02", "s03", "s04", "s05", "s06", "s08", "s09", "s10", "s11", "s14", "s17", "s18"]

jQuery

map.on("boxzoomend", function(e) {
    var download_list = [];
    for (var i = 0; i < bulk_list.length; i++) {
        if (e.boxZoomBounds.contains(bulk_list[i].latlng)) {
            download_list.push(bulk_list[i].name);
        }
    }
    if (confirm("Download the microbial community data for the following samples:" + download_list.toString())) { //alert("Download Beginning");
        $.ajax({
            type: "POST",
            url: "zip_download.php",
            data: {download_list: download_list}
        });

    } else {}
});

PHP

$sample_name_list = $_REQUEST['download_list'];

echo ($sample_name_list);

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

В php-файле вы ищете $_REQUEST с ключом download_list

В вашей функции ajax data равен {key:value}, но у вас нет test как действительное значение. Измените строку на:

data: {download_list: download_list}

0 голосов
/ 03 октября 2019

В вашем методе Jquery AJAX что такое тестирование в объекте данных? вам нужно передать переменную download_list

       $.ajax({
        type: "POST",
        url: "zip_download.php",
        data: {download_list: download_list}
    });

И, кстати, вы можете проверить, работает ли ваш ajax, отслеживая http-запросы в разделе Network инспектора вашего браузера.

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