Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django/Jquery获取下载csv文件的请求_Python_Jquery_Ajax_Django - Fatal编程技术网

Python Django/Jquery获取下载csv文件的请求

Python Django/Jquery获取下载csv文件的请求,python,jquery,ajax,django,Python,Jquery,Ajax,Django,我正在搜索python/jquery相关的答案,但到目前为止我还不走运 我正在尝试下载服务器通过AJAX GET调用发送的csv文件。我能够通过阻止get请求成功下载它,但我想通过ajax实现同样的目标 Python/Django视图 AJAX获取请求 下一步是什么? 我想在收到csv响应后开始下载文件 您是否尝试过在javascript中设置它而不是创建ajax document.location=grades\u csv\u url您可以在js中将文本响应转换为csv: var elemen

我正在搜索python/jquery相关的答案,但到目前为止我还不走运

我正在尝试下载服务器通过AJAX GET调用发送的csv文件。我能够通过阻止get请求成功下载它,但我想通过ajax实现同样的目标

Python/Django视图 AJAX获取请求 下一步是什么?
我想在收到csv响应后开始下载文件

您是否尝试过在javascript中设置它而不是创建ajax


document.location=grades\u csv\u url

您可以在js中将文本响应转换为csv:

var element = document.createElement('a');
element.href = 'data:text/csv;charset=utf-8,' + encodeURI(response);
element.target = '_blank';
element.download = 'csv_data.csv';
element.click();
快速修复…在$'download-grades'上创建一个隐藏的a元素。在'click'上,将href属性设置为您的grades\u csv\u url…然后触发对该隐藏a元素的单击…也请阅读以下内容
<script>
    $(document).ready(function () {
        $('#download-grades').on('click', function (event) {
            event.preventDefault();
            var grades_csv_url = $(event.target).data().url
            $.ajax({
                url: grades_csv_url,
                type: 'GET',
                // dataType: 'text/csv; charset=utf-8',
                success: function (response, status, xhr) {
                    console.log('-')
                },
                error: function (jqXHR) {
                    console.log(jqXHR.responseText); // the response is always received in error not in success.
                }
            });
        });
    })

</script>
var element = document.createElement('a');
element.href = 'data:text/csv;charset=utf-8,' + encodeURI(response);
element.target = '_blank';
element.download = 'csv_data.csv';
element.click();