PHP-使用AJAX将表单文本输出为.txt文件

PHP-使用AJAX将表单文本输出为.txt文件,php,ajax,Php,Ajax,我有一个textarea、文本输入和一个按钮,它将textarea和文本输入值(使用AJAX post方法)发送到PHP站点。 现在,我希望PHP将textarea值输出为.txt文件,以便用户可以下载他在textarea中编写的内容 我的PHP代码如下所示: $text=trim($_POST['text']); // textarea value $fileName=$_POST['fileName'].".txt"; // text input value header("Conten

我有一个textarea、文本输入和一个按钮,它将textarea和文本输入值(使用AJAX post方法)发送到PHP站点。 现在,我希望PHP将textarea值输出为.txt文件,以便用户可以下载他在textarea中编写的内容

我的PHP代码如下所示:

$text=trim($_POST['text']);  // textarea value
$fileName=$_POST['fileName'].".txt";  // text input value
header("Content-Type: text/plain");
header('Content-Disposition: attachment; filename="'.$fileName.'"');
header("Content-Length: ".mb_strlen($text));
print($text);
什么也没发生,你能帮我吗。
谢谢。:)

确保不通过AJAX加载代码,而是通过普通请求加载代码

在您的情况下,实现这一点的最简单方法是向用于发布数据的表单中添加目标,如下所示:

<form method="post" action="script.php" target="_blank"> 
    %%_inputelements_and_submitbutton_%%
</form>

%%_输入元素和提交按钮%

代码的其余部分在哪里?处理的表单,AJAX与它有什么关系?试着在打印后添加“exit;”。@打印头不要紧。您告诉浏览器它应该使用AJAX获得响应,但您发回文本/html,内容配置:附件在顶部。这和问木星为什么不能用刀叉来处理所有重要的事情是一样的。TL;医生:你不能那样做。读一读@RichardBernards写的答案。@RichardBernards你是对的。我没有看到这是一个AJAX请求。我该怎么做呢?与其通过AJAX加载它,不如让它成为一个常规链接(
)好,但我希望用户可以随时这样做,而不会丢失他编写的文本(链接会将他重定向到sript.php站点)将链接的目标设置为
\u blank
,如下所示:
这不会发生,但必须是更优雅的方式,我的意思是,你不能用简单的链接传输数据,它必须是表单或ajax请求,对吗?