前端调用后端接口下载excel文件的几种方式

昨天根据需求做了一个点击按钮下载模板(模板为excel表格)的功能,根据后台给的接口,我是用ajax方法对接,返回状态码200,但是没有任何反应,表格压根没有下载!  百度了下,使用window.location.href 解决了。总结下请求表格两种方法:

1.  window.location.href = '接口地址'

含义: 当前页面打开URL页面

和在浏览器输入接口地址一样,可以直接下载excel文件。但是无法执行post请求。

2. 利用隐藏表单解决(加入jQuery库)

var exportData = [
    {'list1':'xiaodo1'},
    {'list2':'xiaodo2'}   
 ]  //模拟后台需要接收的参数
let form = $("<form>"); //创建form标签
 
form.attr("style","display:none");
from.attr("method","post");//设置请求方式
form.attr("action","接口地址"); //action属性设置请求路径
$("body").append(form); //页面添加form标签
 
let input1 = $("<input>") //创建input标签
input1.attr("type","hidden") //设置隐藏域
input1.attr("name","data") //设置发送后台数据的参数名
input1.attr("value",JSON.Stringify(exportData));
form.append(input1);
 
form.submit();//表单提交即可下载!


————————————————
版权声明:本文为CSDN博主「深蓝色的想念」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41727900/article/details/100119378

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值