Я просмотрел все предложенные ответы и дубликаты, но я не вижу, что мне не хватает. Из различных решений, которые я видел, это должно работать.
Я передаю массив примеров 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);