这个 javascript 函数接受 JSON 并将其格式化为 XML。数据是一个长的 XML 字符串,我想允许用户下载。我正在尝试使用 ajax 将数据发布到 php 页面,wichi 将创建文件,然后允许用户下载它。
json2xml(eval(data));
JS
$.ajax({
type: 'POST',
url: 'download/functions.php',
data: xml2,
dataType: XML
});
我已使用此 PHP 函数写入文件,但我不确定现在如何将 js 变量发送到此函数。
$data = $_POST['xml2'];
writetoxml($data, 'WF-XML'.$current. '.xml');
function writetoxml($stringData, $myFile) {
$current = date('m-d-Y-g-i-s');
$fh = fopen('download/'.$myFile, 'w') or die("can't open file");
fwrite($fh, $stringData);
fclose($fh);
download($file);
}
function downloadFile($file) {
if(!file)
{
// File doesn't exist, output error
die('file not found');
}
else
{
// Set headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$file");
header("Content-Type: application/csv");
header("Content-Transfer-Encoding: binary");
// Read the file from disk
readfile($file);
exit;
}
}
这当前返回服务器 500 错误。