基于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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
破解Session cookie的方法
Jul 28 Javascript
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
单击复制文字兼容各浏览器的完美解决方案
Jul 04 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
js遍历map javaScript遍历map的简单实现
Aug 26 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
Javascript 链式作用域详细介绍
Feb 23 Javascript
基于LayUI实现前端分页功能的方法
Jul 22 Javascript
微信小程序收藏功能的实现代码
Jun 12 Javascript
javascript实现数字时钟效果
Feb 06 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
关于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
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
thinkPHP5.0框架事务处理操作简单示例
2018/09/07 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
JS自动缩小超出大小的图片
2012/10/12 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
jQuery实现的网页换肤效果示例
2016/09/20 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
JS模拟实现京东快递单号查询
2020/11/30 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
英国电动工具购买网站:Anglia Tool Centre
2017/04/25 全球购物
美国折扣地毯销售网站:Rugs.com
2020/03/27 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
计算机专业学生的自我评价
2013/12/15 职场文书
2013的个人自我评价
2013/12/26 职场文书
党的群众路线教育实践活动通讯稿
2014/09/10 职场文书
学校党员个人问题整改措施思想汇报
2014/10/08 职场文书
2014财务年度工作总结
2014/11/11 职场文书
2014年小学校长工作总结
2014/12/08 职场文书
护林员个人总结
2015/03/04 职场文书
暑期实践个人总结
2015/03/06 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技