基于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 相关文章推荐
extjs实现选择多表自定义查询功能 前台部分(ext源码)
Dec 20 Javascript
解析javascript 浏览器关闭事件
Jul 08 Javascript
jquery操作对象数组元素方法详解
Nov 26 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
May 06 Javascript
jQuery实现不断闪烁文字的方法
May 15 Javascript
详解axios在vue中的简单配置与使用
May 10 Javascript
JS监听事件的叠加和移除功能
Nov 19 Javascript
使用Vue实现移动端左滑删除效果附源码
May 16 Javascript
微信小程序页面上下滚动效果
Nov 18 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
Feb 11 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
Jul 14 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插件 HTMLPurifier HTML解析器
2013/07/01 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
使用Javascript接收get传递的值的代码
2011/11/30 Javascript
JavaScript基本编码模式小结
2012/05/23 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
2017/02/28 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
微信小程序实现选择地址省市区三级联动
2020/06/21 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Flask-Mail用法实例分析
2018/07/21 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
python线程安全及多进程多线程实现方法详解
2019/09/27 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
保险公司早会主持词
2014/03/22 职场文书
爱祖国演讲稿
2014/05/04 职场文书
经理任命书模板
2014/06/06 职场文书
标准版离职证明书
2014/09/12 职场文书
财务助理岗位职责范本
2014/10/09 职场文书
夫妻忠诚协议范文
2014/11/16 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript