小编典典

通过jQuery AJAX使用POST数据下载PHP文件

ajax

所以我知道有很多类似的帖子,但是我认为这足以满足自己的疑问:

我正在用PHP和jQuery构建XLS导出器。我正在尝试使用jQuery发布一个数组(我相信它与GET查询字符串一样长),并用它在我的服务器上生成XLS文件,然后用户可以下载该文件。

过去,我使用隐藏的iframe来完成此操作,但是由于它们只是重定向到url,因此这要求我使用GET,这使我感到紧张。

我的问题是:如果这些文件是动态生成的(可能由多个用户使用),如何将这些文件存储在服务器上并链接到它们?隐藏的iframe会链接到一个单独的PHP脚本,该脚本基于会话ID或类似的内容定位其文件吗?

在此先感谢您就我确定一直在问的任何指导:)


阅读 254

收藏
2020-07-26

共1个答案

小编典典

可以过帐到隐藏的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/

基本上,建议是将您的表单发布到当前页面,然后下载文件。这种选择对您可能已经足够了。

2020-07-26