我已经仔细阅读了所有建议的答案和重复内容,但是看不到缺少的内容。从我看到的各种解决方案中,该应该起作用。
当用户在确认弹出窗口上单击“确定”时,我正在通过Ajax将示例名称的jQuery数组传递给PHP脚本。 (当用户使用平移选择缩放方法时,将触发确认框,该方法又将在缩放框中找到的样本名称推入download_list变量。)
除了当用户单击“确定”时,它似乎没有在调用我的PHP脚本。
PHP脚本遍历输入名称,并在zip归档文件中创建一系列文件。但是尝试通过此方法传递数据的效果并不理想。
download_list示例的console.log
["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);
答案 0 :(得分:0)
在您的Jquery AJAX方法中,数据对象中的测试是什么?您应该传递download_list变量
$.ajax({
type: "POST",
url: "zip_download.php",
data: {download_list: download_list}
});
并且通过监视浏览器检查器的“网络”部分中的http请求,可以检查ajax是否正常工作。
答案 1 :(得分:0)
在php文件中,您正在寻找带有密钥$_REQUEST
的{{1}}
在ajax函数中,download_list
是data
,但是您没有{key:value}
作为有效值。将行更改为:
test