所以我知道有很多类似的帖子,但是我认为这足以满足自己的疑问:
我正在用PHP和jQuery构建XLS导出器。我正在尝试使用jQuery发布一个数组(我相信它与GET查询字符串一样长),并用它在我的服务器上生成XLS文件,然后用户可以下载该文件。
过去,我使用隐藏的iframe来完成此操作,但是由于它们只是重定向到url,因此这要求我使用GET,这使我感到紧张。
我的问题是:如果这些文件是动态生成的(可能由多个用户使用),如何将这些文件存储在服务器上并链接到它们?隐藏的iframe会链接到一个单独的PHP脚本,该脚本基于会话ID或类似的内容定位其文件吗?
在此先感谢您就我确定一直在问的任何指导:)
可以过帐到隐藏的iframe。因此,您不必担心查询字符串的长度。您将发布键/值对,这将生成XLS文件,随后将文件强制下载到浏览器。
<form method="post" action="/download/xls" target="download_xls">
<fieldset>
<label>Key 1:</label>
<input type="text" name="key_1" />
</fieldset>
<fieldset>
<label>Key 2:</label>
<input type="text" name="key_2" />
</fieldset>
<fieldset>
<input type="submit" value="Submit" />
</fieldset>
</form>
<iframe id="download_xls" name="download_xls" width="0" height="0" scrolling="no" frameborder="0"></iframe>
更新 Google的快速搜索打开了这篇文章:http : //particletree.com/notebook/ajax-file-download-or-
not/
基本上,建议是将您的表单发布到当前页面,然后下载文件。这种选择对您可能已经足够了。
问题内容: 我有一个基于jquery的单页webapp。它通过AJAX调用与RESTful Web服务进行通信。 我正在尝试完成以下任务: 将包含JSON数据的POST提交到REST URL。 如果请求指定JSON响应,则返回JSON。 如果请求指定PDF / XLS / etc响应,则返回可下载的二进制文件。 我现在有1&2,并且客户端jquery应用通过基于JSON数据创建DOM元素在网页上显
问题内容: 我有一个按钮,它将调用ajax函数。 这是我的ajax功能 我根据用户输入创建csv文件。创建之后,我希望它提示下载或强制下载(最好是强制)。我在php文件的末尾使用以下脚本来下载文件。如果我在单独的文件中运行此脚本,则可以正常运行。 但是,如果我在csv.php的末尾运行它,它会将file.csv的内容输出到页面中(进入ajaxDiv)而不是下载。 有没有办法强制在csv.php的末
本文向大家介绍PHP 通过AJAX调用下载文件,包括了PHP 通过AJAX调用下载文件的使用技巧和注意事项,需要的朋友参考一下 使用Ajax下载文件不是一个好主意。而是应使用window.location 或 document.location。 “window.location”具有以下特点- 需要启用JavaScript 它不需要PHP。 它有助于显示站点的内容,并在几秒钟后重定向用户。 重定
问题内容: 我有一个生成CSV文件并将其通过http / ajax get返回到页面的服务。我希望用户单击按钮,调用服务,然后将文件下载到用户的浏览器。 我想使用Angular Way,尽管我认识到这可能与Ajax或浏览器的关系要比Anguler本身更多。 该服务在C#中,它返回的内容是: 调用该服务的控制器代码如下所示。它有效,但是我不知道如何成功: 问题答案: 您无法从常规的ajax GET或
问题内容: 我正在尝试通过ajax和php调用一些数据库数据。但是ajax调用不起作用,我无法在网络上找到解决方案。 所以这是我的代码: test.php 如果我在浏览器中键入该网址: 通过jsonEncode返回的数据是正确的,但是当我使用jquery将其加载到html页面时,他无法读取数据。 test.html 提前致谢。 问题答案: 您的 变量 没有价值。您想使用 字符串 。也许您也希望能够
问题内容: 使用PHP,我试图提供由于授权问题而不在网络可访问目录中的大文件(最大可能为200MB)。当前,我使用一个调用以及一些标头来提供文件,但是似乎PHP在发送之前先将其加载到内存中。我打算在共享托管服务器上进行部署,这将不允许我使用太多内存或添加自己的Apache模块(例如X- Sendfile)。 出于安全原因,我不能让我的文件位于可通过网络访问的目录中。有人知道我可以在共享主机服务器上