普通的文件下載在前面的博客有提到,下面介紹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