Загрузка через JQuery AJAX Сообщение не работает

Я хочу загрузить файл с помощью ajax через пост-запрос с помощью jQuery.

вот код PHP, который я использую.

if (file_exists($file)) { header("Cache-Control: public"); header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=$file"); header("Content-Type: application/zip"); header("Content-Transfer-Encoding: binary"); readfile($file); } 

и это jQuery.

 $('button.erp_ci_download').click(function(){ var formData = $('form#erp_customerinvoice').serialize(); $.ajax({ type: 'POST', url: "App/Ajax/Excel/Download.php", data: formData }); }); 

невозможно ли скачать его таким образом? я попробовал googling, и некоторые предложили, что это так же, как я это делаю. но в моей консоли он отображает некоторые значения мусора в качестве ответа.

где я иду не так?

Спасибо..

Solutions Collecting From Web of "Загрузка через JQuery AJAX Сообщение не работает"

Вы можете просто отправить запрос POST на свою страницу App/Ajax/Excel/Download.php с данными формы, которые вы хотите, и забыть об использовании jQuery AJAX. Если ваши заголовки ответов верны, когда вы публикуете форму «erp_customerinvoice», браузер по умолчанию покажет вам диалоговое окно файла загрузки, и вы никогда не перейдете на страницу Download.php, потому что заголовки ответов предотвратят перенаправление.

См. Некоторые связанные вопросы для получения дополнительных объяснений и альтернатив:

  • POST на сервер, получать PDF, доставлять пользователю w / jQuery
  • Приложение Ajax Response Content-Disposition