私はこのphpコードを使用して、ユーザーがdojo.enchancedgridをファイルに送信し、自分のマシンにダウンロードできるようにしています。手順は正常に機能しますが、出力csvファイルには引用符のエスケープ行が含まれています。phpがそれらを挿入しないようにするにはどうすればよいですか。function(str)に渡される文字列は問題ありませんが、phpコードを通過した後は異なります。
私のJavaScriptコード:
function exportCsv(){
var g = dijit.byId("grid");
g.exportGrid("csv",{
writerArgs: {
separator: ","
}
}, function(str){
alert(str);
var form = document.createElement('form');
dojo.attr(form, 'method', 'POST');
document.body.appendChild(form);
dojo.io.iframe.send({
url: "csv.php",
form: form,
method: "POST",
content: {exp: str},
timeout: 15000
});
document.body.removeChild(form);
});
}
私のphpコード:
$time = time();
header("Pragma: public");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=\"grid_$time.csv\"");
$exportedData = $_POST['exp'];
echo $exportedData;
また、サーバーは行にいくつかの分析コードを挿入しています…助けてくれてありがとう。以下は、出力csvファイルです。
Lon、Lat、Network、RouteId、Measure
-74.18143812,40.62733114、\ "Named Route \"、IN278,1
-73.90131905,40.75932358、\ "Named Route \"、IN278,25
-73.8005193,40.73819062、\ "Named Route \"、IN495,10
-73.82437443,40.79381815、\ "Named Route \"、IN678,12
-73.79087796,40.66589334、\ "Named Route \"、\ "NY 27 \"、12
<-Hosting24分析コード->
<-アナリティクスコードの終わり->