Так оно и есть, у меня AJAX при обращении к PHP создает файл, где можно callback передать?
$(function() // объявляем глобальную функцию готовности DOM
{
$('button#getfile').live('click', function() // Выкачиваем AJAX'ом сгенерированный CSV файл
{
$.get('/?getfile', function(){}); // коннектим к AJAX обработчику
});
});
<?php
if($core->isAjax() && isset($_REQUEST['getfile'])) // если AJAX верный
{
$core->getFILE(); // генерируем файл (СДЕСЬ просто создается файл на сервере)
$core->getCSV(); // выдаем CSV в браузер моментально (СДЕСЬ формируются на него заголовки выдачи в браузер)
}?>