【发布时间】:2025-12-26 03:45:16
【问题描述】:
我有表单,我通过调用提交给 django 服务器。
$("#my_form").submit();
服务器通过执行此代码返回xml文件:
content = some_data_retrieved_from_database_as_xml()
response = HttpResponse(content, content_type='text/xml')
response['Content-Disposition'] = 'attachment; '
response['Content-Disposition'] += 'filename=my_file.xml'
response['Content-Encoding'] = 'UTF-8'
return response
谷歌浏览器只下载这个文件,但我想注册 additional 回调函数,称为 myFunction(data)。
Chrome 应该下载这个文件,然后调用 myFunction(这个 xml 文件)。
我试过这段代码,但它不起作用:
$("#my_form").bind('ajax:complete', myFunction);
我也尝试使用 $.post,但之后只调用了回调函数,不幸的是我的文件没有下载。
【问题讨论】:
-
也许你可以使用这样的东西:johnculviner.com/…
-
确实没有简单的方法可以做到这一点。我认为最好的解决方案可能是在服务器端实现一些东西,就像你从服务器获取下载进度一样,但是你会轮询服务器,直到它告诉你文件已完全下载,并且然后执行回调等。
标签: javascript jquery django file download