Невозможно начать загрузку файла в ответ на запрос Ajax. Вы должны отправить браузер для загрузки ресурса, как если бы вы переходили на страницу.
Если вам нужно для использования метода POST, я думаю, что идеальный способ сделать это:
Имеет реальный элемент <form>
, в который вы записываете данные POST
Есть невидимый или маленький iframe
. Дайте ему имя
Дайте форме имя iframe как свойство target
submit()
форма
если все заголовки установлены правильно (возможно, вам придется добавить еще несколько, например Content-disposition: attachment
), это должно инициировать загрузку файла, не затрагивая вашу текущую страницу.
Если вы можете использовать GET
, простой
location.href="toexcel.php?param1=value1¶m2=value2"
должно уже сделать.