Django Ajax文件下載

普通的文件下載在前面的博客有提到,下面介紹Ajax實現的文件下載:

AJAX發送參數到後臺後,後臺處理後,傳數據到前臺,Ajax在success裏面構建了一個from表單, 當後臺傳來的是文件時,自動點擊提交按鈕,文件就會被下載。

代碼如下:

<script>
    $.ajaxSetup({
        data: {csrfmiddlewaretoken: '{{ csrf_token }}'},
    });

    $("#submit").click(function () {
        $.ajax({
            url: "{% url 'covid19:download'%}",
            type: "POST",
            data: $("#Iform").serialize(),
            success: function(response, status, request) {
                var disp = request.getResponseHeader('Content-Disposition');
                if (disp && disp.search('attachment') != -1) { //判斷是否爲文件
                    var form = $('<form action="' +  {% url "covid19:download"%} + '" method="post"></form>');
                    $('body').append(form);
                    form.submit();
                }
            }
        })
    })
</script>

參考文獻:https://blog.csdn.net/junehappylove/article/details/81287679

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章