基于axios 的responseType类型的设置方法


Posted in Javascript onOctober 29, 2019

responseType值的类型可为如下

基于axios 的responseType类型的设置方法

axios请求下载导出一个文件,请求成功时返回的是一个流形式的文件,需要设置responseType: 'arraybuffer',但是请求失败的需要返回的是json数据,

所以需要把arraybuffer转成Json对象。

例:

请求设置了responseType: 'arraybuffer',

请求成功时,下载文件,

请求失败时,后端返回json对象,如:{"msg":"系统异常","code":1,"success":false},也被转成了arraybuffer

我的解决方案是,失败时,将数据arraybuffer转成Json对象就好了。

举个例:

api.downloadFile(params).then(res => {    
  if (res.status === 200 && res.data) {     
  
var disposition = res.headers['content-disposition']    
  

var fileName = decodeURI(disposition.substring(disposition.indexOf('filename=') + 9, disposition.length))<br>


let blob = new Blob([res.data], { type: 'application/pdf' }) // 假设文件为pdf
     let link = document.createElement('a')
     link.href = window.URL.createObjectURL(blob)
     link.download = fileName
     link.click()
     link.remove()
   } else {      // 其它情况
   }
  }).catch(err => {     <br>

var enc = new TextDecoder('utf-8')
    var res = JSON.parse(enc.decode(new Uint8Array(err.data))) //转化成json对象
    console.log(res)
  }
)

以上这篇基于axios 的responseType类型的设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery index()方法 获取相应元素索引值
Oct 12 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
Java  Spring 事务回滚详解
Oct 17 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
Aug 18 Javascript
一文搞懂ES6中的Map和Set
May 20 Javascript
vue ssr+koa2构建服务端渲染的示例代码
Mar 23 Javascript
javascript实现时间日期的格式化的方法汇总
Aug 06 Javascript
ant-design-vue中tree增删改的操作方法
Nov 03 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 #Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 #Javascript
vue 强制组件重新渲染(重置)的两种方案
Oct 29 #Javascript
javascript实现简单打字游戏
Oct 29 #Javascript
简单使用webpack打包文件的实现
Oct 29 #Javascript
vue 解决异步数据更新问题
Oct 29 #Javascript
VUE实现强制渲染,强制更新
Oct 29 #Javascript
You might like
PHP静态新闻列表自动生成代码
2007/06/14 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
微信小程序实现页面浮动导航
2020/01/08 Javascript
如何实现iframe父子传参通信
2020/02/05 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
深入理解Python单元测试unittest的使用示例
2017/11/18 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
python3获取url文件大小示例代码
2019/09/18 Python
对python中各个response的使用说明
2020/03/28 Python
应届生护士求职信
2013/11/01 职场文书
办公室副主任岗位职责
2013/11/25 职场文书
小学语文国培感言
2014/03/04 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
2015年党建工作总结
2015/03/30 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
青年志愿者活动感想
2015/08/07 职场文书
参加招聘会后的感想
2015/08/10 职场文书