Задать вопрос
pingo
@pingo

Браузеры блокируют такую фичу?

отправляю get аяксом, на php скрипт сервера, который
ловит и в зависимости от параметров должен отдать файл
на скачку. вот оконцовка сего действия на сервере:
header("Content-Type: application/octet-stream");
        header("Content-Transfer-Encoding: Binary");
        header("Content-disposition: attachment; filename=$file");
        header('Content-Transfer-Encoding: binary');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Pragma: public');
        header('Content-Length: ' . filesize($url));
        ob_clean();
        flush();
        file_put_contents("t.txt", filesize($url)); //лог есть, значит get приходит 
        readfile($url);


$.get( "download?q="+param );// так не работает

window.location="download?q="+param; // а так работает

поскольку в цепочке используется $_SERVER['HTTP_X_REQUESTED_WITH'] поэтому и спрашиваю, может кто сталкивался?

PS для уточнения, мне надо спровоцировать закачку файла отправкой get запроса аяксом.
  • Вопрос задан
  • 159 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@AaAAxzz
С помощью технологии ajax файлы не скачиваются. Вы можете использовать $.get и получить содержимое файла, после добавить скрытый фрейм с тем же урл адресом на файл, но тем не менее скрытно от пользователя закачать ему файл не получится (я не проверял теорию, но думаю хром скушает).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы