首页 > 解决方案 > 从 js 调用的烧瓶视图函数发送文件

问题描述

我想发送一个带有 Button 事件的静态文件

从这个烧瓶视图

@flask_class.route('/download')
def download():
    return send_from_directory('/home/ede//flask_lab/app/static/clientdata/', 
           filename="readcolumns.xlsx", as_attachment=True)

使用 AJAX 调用

$("#getdata").on('click', ()=>
$.getJSON({url: '/download'}));

但我没有得到服务器响应

烧瓶视图适用于插入一个简单的 html 下载链接文件被下载

 <a href="{{ url_for('download') }}">download</a>

为什么 ajax 函数不执行烧瓶视图?

标签: javascriptflaskdownload

解决方案


您正在尝试使用 获取 excel 文件 (*.xlsx) 文件$.getJSON(),这将导致解析错误。使用以下代码示例在控制台中记录错误。

$.getJSON('/download')
   .then(function(res) {
       console.log(res);
   }).catch(function(error) {
       console.log(error);
   })

推荐阅读