Solicitar que o usuário salve o arquivo por meio da chamada AJAX

Estou exportando minha grade DHTMLX para csv e consegui criar o arquivo .CSV com êxito. O problema que estou tendo é que ele não está solicitando que o usuário salve / abra o arquivo. Estou usando uma chamada $ .post do javascript para enviar a string CSV para o PHP e, em seguida, escrevendo essa string para csv. Por alguma razão, não está criando um prompt para o usuário, mas está gravando com sucesso o arquivo e salvando no servidor. Abaixo está o código relevante:

JS:

myGrid.csvParser = myGrid.csvExtParser;
myGrid.setCSVDelimiter('|');
myGrid.csv.row = "endOfRow";           
var gridCsvData = myGrid.serializeToCSV();

    $.post(
        "data/export.php", 
        { 
           csvdata: gridCsvData
        }
    );

PHP (export.php):

$csvData = $_REQUEST['csvdata'];

$csv = explode('endOfRow',$csvData);

$myfile = "grid.csv";

$fh = fopen($myfile, 'w') or die("can't open file");

foreach($csv as $line) {
    fputcsv($fh, explode('|',$line),',','"');
}

fclose($fh);

//Redirect output to a client's web browser (csv)
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=grid.csv");
header("Pragma: no-cache");
header("Expires: 0");

Este código funciona perfeitamente no sentido de que exporta o Grid exatamente como eu quero e o salva em 'grid.csv'. O problema é que ele não está solicitando que o usuário salve o arquivo. Isso é um problema com meus cabeçalhos PHP ou eu preciso colocar algo no $ .post para solicitar sucesso? Obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion