Php 不使用表单发布,然后下载文件
我正在使用ajax发布,但ajax不会触发文件下载。Php 不使用表单发布,然后下载文件,php,ajax,Php,Ajax,我正在使用ajax发布,但ajax不会触发文件下载。 我需要在不使用表单的情况下发布,因为我使用了页面上许多元素的值,所以我创建了一个javascript函数来获取这些值,并创建一个数组,然后发布到php目标文件。 如何发布这些值并触发下载文件,而不使用表单提交,而是收集元素值并将其发送到目标php页面? Javascript解析内容并创建一个值数组,然后发布到PHP: ['Jordan','22','Male','Other Info'] PHP文件使用该数组将这些值插入DOCX(文档),然
我需要在不使用表单的情况下发布,因为我使用了页面上许多元素的值,所以我创建了一个javascript函数来获取这些值,并创建一个数组,然后发布到php目标文件。
如何发布这些值并触发下载文件,而不使用表单提交,而是收集元素值并将其发送到目标php页面?
Javascript解析内容并创建一个值数组,然后发布到PHP:
['Jordan','22','Male','Other Info']
PHP文件使用该数组将这些值插入DOCX(文档),然后返回下载URL,请注意,该文件未保存在服务器中。以下是ajax帖子的答案:
Access-Control-Allow-Origin:*
Cache-Control:max-age=0, no-cache, no-store, must-revalidate
Connection:Keep-Alive
Content-Description:File Transfer
Content-Disposition:attachment; filename="modelos/calculos/tempo_contribuicao_2014-11-12.docx"
Content-Length:18943
Content-Transfer-Encoding:binary
Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document
Date:Wed, 12 Nov 2014 15:57:39 GMT
Expires:Wed, 11 Jan 1984 05:00:00 GMT
Keep-Alive:timeout=15, max=98
Pragma:no-cache
Server:Apache/2.0.63 (FreeBSD) PHP/5.2.6 with Suhosin-Patch
Vary:User-Agent
X-Powered-By:PHP/5.2.6
您可以通过以下方式实现相同的目标: 步骤1:首先,发送Ajax请求,将参数发布到服务器 步骤2:使用PHP在服务器上生成文件&返回文件名
步骤3:在ajax成功回调中,只需使用
location.href='?filename=fname'
//据我所知,在ajax中是不可能的。事实并非如此,您知道仅使用PHP如何实现这一点吗?请检查,但我如何传递参数?给出代码和您想要实现的目标。服务器端代码。如果不将文件保存到服务器上,就无法实现这一点?即使只使用PHP而不使用表单提交?我不确定,但如果您遵循这些步骤,您将在下载后删除文件。@BernardoLima您只需要一个指向PHP文件的链接,它将输出任何文件。有了正确的标题和mime,你可以在点击链接后强制下载。@BernardoLima,我同意@itachi。但是,location.href
如果您使用的是正确的mime类型和头,则不会重定向您。如何向用户显示该文件取决于您自己。@BernardoLima在下载该文件的页面中。因为涉及到两个PHP。一个是生成文件,另一个是下载文件。您需要在第二个文件中使用headers/mime。