博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前后端分离,导出数据为文件或下载文件,前端如何处理后端返回的数据
阅读量:7083 次
发布时间:2019-06-28

本文共 1044 字,大约阅读时间需要 3 分钟。

  在前后端分离的项目中涉及跨域问题,通常都会使用token进行验证。

  最近在前后端分离的项目中在一个问题上搞了很久,就是以前下载附件或者导出数据为文件的时候,在以前的那些项目前端可以直接用 window.location.href='后端url',window.open(url)或者其他的方式,但是在前后端分离中这种方式不能把token也一起传到后端进行请求,导致权限不够访问不了后端。

  最后在多方面的尝试下,也和同事一起讨论,最后这么解决(直接附代码):

1  /** 2      * 导出用户列表 3      */ 4     private exportUsers(){ 5         this.http.doPost({ 6             url: 'system/sysmanager/user/exportUsers',  7             responseType:ResponseContentType.Blob,   8             body:this.form,  //传入后端的表单数据 9             success: (req, res) => {10                 var blob = new Blob([res.json()]); //创建一个blob对象11                 var a = document.createElement('a'); //创建一个标签12                 a.href = URL.createObjectURL(blob); // response is a blob13                 a.download = "用户列表.xlsx";  //文件名称14                 a.style.display = 'none';15                 document.body.appendChild(a);16                 a.click();17                 a.remove();18             }19         });20    }

开始以为后端代码需要更改,其实后端代码不需要更改,输出的是输出流、或者字节数组前端都可以进行转换。

这个博客有点简短,如果有什么意见或者问题欢迎大家指教。

 

转载地址:http://qsmml.baihongyu.com/

你可能感兴趣的文章
yaml模块
查看>>
2017.7.13
查看>>
JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)
查看>>
深入理解Java虚拟机-----------虚拟机类加载机制
查看>>
编程语言介绍
查看>>
javascrip this指向问题深入理解
查看>>
active admin
查看>>
如何配置pl/sql 连接远程oracle服务器
查看>>
c++ 循环左移
查看>>
【51NOD】独木舟
查看>>
windows下安装git
查看>>
maven与gradle的对比
查看>>
js中this的指向
查看>>
查找两个数组的相同字符(两个超大文件的相同字符)
查看>>
Exp2 后门原理与实践 20164320 王浩
查看>>
容器的最低高度
查看>>
【代码】python 绘图(以faster rcnn 的 loss 曲线为例)
查看>>
ng-model-options 时延
查看>>
BI工具开发的主要内容
查看>>
建立个人站点之申请域名和空间
查看>>