2

DHTMLX グリッドを CSV ファイルにエクスポートしようとしています。フレームワークをセットアップしましたが、25 行を超えてエクスポートしようとすると失敗するという問題が発生しています。エラーメッセージなどはありません。以下は私のコードです:

Javascript

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

var gridCsvData = myGrid.serializeToCSV();

$.post("data/export.php?csvdata="+gridCsvData);

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: text/csv");
header("Content-Disposition: attachment; filename=grid.csv");
header("Pragma: no-cache");
header("Expires: 0");

readfile('grid.csv');

どんな助けでも大歓迎です。これは、POST での何らかのサイズ制限の問題であると思われ、.htaccess ファイルで制限を 20MB に変更しようとしました。私が言ったように、これはわずか数行 (<25) で完全に機能しますが、それ以上エクスポートしようとすると、.csv ファイルが生成されません。

4

1 に答える 1

2

私は$.post(jQueryからですよね?)そのような巨大なURLを処理しないと思います。HTTP POST クエリのパラメーターとして処理できるパラメーターを追加する必要があります。

$.post(
  "data/export.php", 
  { 
    csvdata: gridCsvData
  }
);
于 2012-08-23T14:58:00.377 に答える