所以我知道有很多类似的帖子,但是我认为这足以满足自己的疑问:
我正在用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/
基本上,建议是将您的表单发布到当前页面,然后下载文件。这种选择对您可能已经足够了。