php – 如何在jquery ajax调用后将文件输出到浏览器

前端之家收集整理的这篇文章主要介绍了php – 如何在jquery ajax调用后将文件输出到浏览器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在网站上有一个链接到一个PHP文件,它可以在飞行中生成本机excel文件,通过标题直接将它输出到浏览器,供用户打开/保存.由于生成文件需要一些时间,因此我想使用jQuery Ajax进行调用并使用一些加载动画.

我唯一不确定如何做的是在Ajax调用后如何将文件输出到浏览器中?它甚至可能吗?

最佳答案
(N.B.这是对@dmitry的回答的解释,但刚刚详细阐述)

您遇到的问题是无法通过AJAX直接将文件返回给用户 – 浏览器必须使用正常的同步HTTP请求来请求文件.

解决这个问题,您的PHP需要:

>正常生成Excel文件.
>不是将文件写回用户,而是将其保存在服务器的文件系统上(即使用file_put_contents()或类似文件).
>将文件路径返回给用户.

您的JS在收到此响应后将需要:

>从PHP脚本中读取Excel文件路径.
>使用window.open()在新选项卡/窗口中打开Excel文件(或通过设置location.href在当前选项卡/窗口中重定向).

猜你在找的jQuery相关文章