【发布时间】:2021-03-09 13:54:23
【问题描述】:
在我的 Django 项目中,我有一个生成报告的 pdf 下载按钮。当我按下按钮时,我想要一个显示正在处理报告的模式。下载pdf后,我希望模态自动隐藏。
但是,我在最后一部分遇到了一些问题。我知道 Django 在下载报告时会在后端发送“GET”消息(“GET /download/140/...”)
如何在我的模板中“捕捉” ("GET /download/140/...") 事件?
代码:
<a href="{% url 'report-download' object.id %}" class="btn btn-grey" id="pdf-button"></a>
启动下载时显示“处理”模式...
<script type="text/javascript">
$("#pdf-button").on("click", function(){
$('#myPDFModal').modal('show');
});
</script>
尝试:使用 Ajax 完成下载后关闭“处理”模式...
<script type="text/javascript">
$(document).on('click', '#pdf-button', function(event)
{
event.preventDefault();
$.ajax({
url: '{% url 'report-download' object.id %}',
type: 'GET',
}).done(function(result) {
$('#myPDFModal').modal('hide');
});
});
</script>
上面的代码似乎可以在正确的“GET”事件中显示/隐藏模式,但是没有下载 pdf..
【问题讨论】: