基于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.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
Jul 31 Javascript
JQuery循环滚动图片代码
Dec 08 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
基于jQuery仿淘宝产品图片放大镜代码分享
Jun 23 Javascript
javascript中arguments,callee,caller详解
Mar 16 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
JS实现简单拖拽效果
Jun 21 Javascript
Vue.js 中的 v-cloak 指令及使用详解
Nov 19 Javascript
详解基于Wepy开发小程序插件(推荐)
Aug 01 Javascript
JavaScript实现简单动态表格
Dec 02 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 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
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
PHP使用 Imagick 扩展实现图片合成,圆角处理功能示例
2019/09/09 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript 全选与全取消功能的实现代码
2012/12/23 Javascript
js中单引号与双引号冲突问题解决方法
2013/10/04 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
详解axios在node.js中的post使用
2017/04/27 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
js+html获取系统当前时间
2017/11/10 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
2017/08/15 Python
python正则表达式爬取猫眼电影top100
2018/02/24 Python
Python绘制热力图示例
2019/09/27 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
婚礼新郎父母答谢词
2014/01/16 职场文书
超市中秋节活动方案
2014/02/12 职场文书
致铅球运动员加油稿
2014/02/13 职场文书
财务主管岗位职责
2014/02/28 职场文书
同志主要表现材料
2014/08/21 职场文书
农业项目投资意向书
2015/05/09 职场文书
党内外群众意见范文
2015/06/02 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书