从AJAX调用时,下载文件功能不起作用?

时间:2015-07-02 11:32:09

标签: php ajax

这可能是一个糟糕的问题,因为我的项目可能存在问题,但是我希望从AJAX调用中更改标题可能是某人熟悉的问题。下面的PHP函数在同步调用时执行正常,但是当我从AJAX调用它时,它不会下载任何内容并返回200错误。

  public function download_csv() {

    $csv = 'hello, header';
    header('Content-Disposition: attachment; filename="format.csv"');
    header('Content-Type: text/plain');
    header('Content-Length: ' . strlen($csv));
    header('Connection: close');


    echo $csv;
  }

1 个答案:

答案 0 :(得分:2)

据我所知,您无法使用ajax下载文件(安全原因) 我再次搜索,似乎这就是重点。

工作解决方案可能是使用用户不可见的iframe,并在需要下载文件时将其'src'属性设置为下载URL。

您还可以查看使用jquery插件的this answer here并且看起来很有希望(我自己没有尝试过)