gpt4 book ai didi

ajax - Django - 下载文件而不重新加载页面

转载 作者:行者123 更新时间:2023-12-04 12:47:41 27 4
gpt4 key购买 nike

流程看起来像这样:

  1. 用户正在填写表格
  2. 表单通过ajax传递给服务器
  3. 表单被保存到 db,然后创建带有表单数据的 pdf 并保存在 app 文件夹中(这里可能是一个错误的举动......)
  4. ajax 成功导致页面附加一个按钮“下载”,其值等于当前 pdf 的名称,因此按钮“下载”显示给用户
  5. 如果用户按下按钮,将下载刚刚保存的 pdf。
  6. 刷新页面会使按钮消失。

我卡在了第 5 点。我创建了另一个绑定(bind)到“下载”按钮的 ajax(以避免重新加载页面)。它正确地要求服务器查找文件,创建一个 django File 对象:pdf_file = File(open(file_path, 'rb'))并使用文件和 content_type='application/pdf''application/download' 创建一个 HttpResponseresponse['Content-Disposition']attachment

然后 ajax 返回响应 - 只有它没有。服务器未引发错误,但调用了 ajax 错误函数。

我读到无法使用 ajax 下载。你能帮我弄清楚吗?如果以上片段不清楚,我将提供更多代码。Python 3.5,Django 1.10

最佳答案

点赞

window.location.href = "/url/to/downloadfile/"

javascript 中发布表单成功后。或者

#html
<button onclick="myfiledownload()">Download</download>
#javascript
function myfiledownload(){
window.location.href = "/url/to/downloadfile/"
}

关于ajax - Django - 下载文件而不重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43129685/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com