难点:
- 后端:要用什么样的形式将准备好的data 传递给前端。
- 前端:如何触发浏览器直接下载,尤其是还要兼容IE
后端用的django:
# 前略
import json
df = pd.DataFrame(XXXX) # df是准备好的数据,是一个data frame。pd.DataFrame(XXXX) 是随便写的
response = HttpResponse(json.dumps({'status': 0, # 一个用来标志后台是否有error的状态位,跟download 功能没有关系
'download_data': df.to_csv(encoding='utf_8_sig'), # !!这里是重点
'download_filename': 'XXX' + datetime.datetime.now().strftime('%m%d%H%M%S') + '.csv'
}), content_type="application/json")
return response
前端:
$.ajax({
type: 'get',
url: url,
traditional:true,
dataType:'json',
async:false,
s