【问题标题】:Download CSV Via AJAX Post通过 AJAX Post 下载 CSV
【发布时间】:2016-06-03 04:05:36
【问题描述】:

你好 Stackoverflow。我正在尝试通过 AJAX 调用 PHP 脚本,该脚本将创建和下载 CSV 文件。我知道这通常不应该这样做,但是我想这样做。

我的 ajax 下面返回 csv 数据,如此输出所示:

$.ajax({
    type: "POST",
    url: "<?=site_url('front_office/get_csv/')?>",
    data: {hashed_center_ids : hashed_center_ids, print_data : print_data},
    dataType: "text",
    success: function(response) {
        console.log(response)
        var uri = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(response);
        window.open(uri, 'test.csv');
    }
});

问题在于使用线条

var uri = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(response); window.open(uri, 'test.csv');

不将文件下载为 CSV。而是它没有给它命名为“下载”的扩展名。有谁知道我怎样才能使它以 .csv 扩展名下载?谢谢。

【问题讨论】:

  • 让我说得对,您想将一些数据发布到 PHP 中,PHP 将对其进行处理并返回 CSV 数据?您希望返回的数据作为文件下载自动提供吗?
  • 如果是这种情况,您应该阅读这篇文章:stackoverflow.com/questions/7034754/…
  • application/csv 不是有效的 mime 类型。 csv 的正确 mime 类型是 text/csv
  • 它有效,马克。知道如何更改名称吗?它以“download.csv”的形式出现。
  • 埃米尔说得对。

标签: php jquery ajax codeigniter csv


【解决方案1】:

我无法发表评论,所以:您可以通过在标题中添加以下内容来更改 csv 的名称

 filename=whatever.csv

【讨论】:

    猜你喜欢
    • 2010-10-14
    • 2023-03-16
    • 2012-01-11
    • 2019-10-27
    • 2023-03-19
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 2020-10-15
    相关资源
    最近更新 更多