我想实现:
以html格式输入一些数据(例如-wahl-和-id-) 点击-submit后调用javascript函数-machExport- 此函数验证值并将它们(-wahl-和-id-)传递给php-File -makeExport.php- -php-Funktion获取这些值,从mysql数据库获取一些数据,创建输出数据, 将这些数据写入文件-data.txt-并立即将此文件下载到用户download-folder。
一切都运作良好,但是: 创建数据后,此数据将存储到文件中,但不会下载。
那么,出了什么问题。 (如果我通过将一些值传递给php函数来直接执行-php文件,它可以很好地工作,
我的-html-文档中的部分代码
<form name="form" action="" method="post" onsubmit="return machExport()" onreset="abbruch()">
Javascript的代码:
function machExport(){
var wahl = $("input[name='rd1']:checked").val();
var id = $("#id").val();
// verify these values and give an error message, if necessary
...
// if everything is ok, pass values to the -php- function
var ajxFile = 'makeExport.php';
var param = wahl + "#" + id;
$.ajax({
type: "POST",
url: ajxFile,
data: param
// if I put here a -success: function -statement,
// then the data having been created within my php-function
// is not beeing written into the requested file
// but is displayed in my html-document.
}
});
return false;
}
PHP-File -makeExport.php -
<?php
// get the values for -wahl- and -id-
...
// create data to write into file
$data = ...
// write data to file and download this file instantly
$file = "data.txt";
$fOK = file_put_contents ( $file , $data );
// up to here, it works
// but the next 3 lines are not excecuted
header("Content-Type: text/plain");
header("Content-Disposition: attachment; filename=\"$file\"");
readfile($file);
?>