Я думаю, проблема в том, что вы пытаетесь загрузить файл с результатом INTO #downloadmsg, который не будет работать, потому что .load () будет загружать результаты только как HTML ... НЕ двоичные данные или другие кодирование.
Один из подходов, который может сработать, - это создание скрытого iframe в HTML, например:
<iframe id="secretIFrame" src="" style="display:none; visibility:hidden;"></iframe>
Затем установите в качестве атрибута iframe строку запроса:
$("#secretIFrame").attr("src","myphpscript.php?option1=apple&option2=orange");
и затем использование заголовков PHP для принудительной загрузки при заданном источнике (вот пример набора заголовков экспортера из одного из моих сценариев, который использует поток октетов):
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=data.xls ");
header("Content-Transfer-Encoding: binary ");
Надеюсь, это поможет!