Отправьте массив через jquery с ajax, чтобы начать поток zip с php - PullRequest
0 голосов
/ 28 февраля 2020

Я думаю, что это связано с проблемой загрузки файла с помощью запроса AJAX. Мне нужно положить sh массив в сценарий php, но загружаемая zip-версия, которую сценарий возвращает назад, должна быть перенаправлена ​​в новое окно. Не уверен, как вписать это в мой jquery.

Я не уверен, считается ли это дубликатом к другим вопросам, связанным с загрузкой из php, потому что те, на которые я смотрел, не передавали данные через вызов ajax.


Я передаю массив от jquery до php через AJAX и получаю потоковую zip-загрузку файлов из моей базы данных. Сценарий работает, когда я перехожу к нему напрямую и загружает zip-файл из файлов, как и ожидалось. Однако он не работает, когда я пытаюсь вызвать его через jquery. Я считаю, что это связано с загрузкой, которая должна быть перенаправлена ​​в новое окно?

Jquery:

 if (confirm("Download data for the following samples:" + download_list.toString())) { alert("Download Beginning - Will take several minutes per sample selected - DON NOT NAVIGATE AWAY FROM PAGE.");
    $.ajax({
        type: "POST",
        url: myURL +  "zip_download.php",
        data: {download_listArray:download_list},

        success: function(){
        alert("OK");
    }
    });

PHP:

<?php
$sample_name_list = $_POST['download_listArray'];



foreach ($sample_name_list as $i => $sample_name){

   //do stuff
}
//stream zip

?>
...