基于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调用Session的实现代码
Oct 29 Javascript
js动态给table添加/删除tr的方法
Aug 02 Javascript
JQuery仿小米手机抢购页面倒计时效果
Dec 16 Javascript
JavaScript中操作字符串小结
May 04 Javascript
用window.onerror捕获并上报Js错误的方法
Jan 27 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
JS原型链 详解及示例代码
Sep 06 Javascript
浅谈Webpack下多环境配置的思路
Jun 27 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
uni-app之APP和小程序微信授权方法
May 09 Javascript
vant IndexBar实现的城市列表的示例代码
Nov 20 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.ini中文版
2006/10/09 PHP
php格式化工具Beautify PHP小小BUG
2008/04/24 PHP
神盾加密解密教程(一)PHP变量可用字符
2014/05/28 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
PHP的Socket网络编程入门指引
2015/08/11 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
jquery.idTabs 选项卡使用示例代码
2014/09/03 Javascript
js实现登陆遮罩效果的方法
2015/07/28 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
python使用装饰器作日志处理的方法
2019/07/11 Python
python取均匀不重复的随机数方式
2019/11/27 Python
python读取dicom图像示例(SimpleITK和dicom包实现)
2020/01/16 Python
AmazeUi Tree(树形结构) 应用小结
2020/08/17 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
大韩航空官方网站:Korean Air
2017/10/25 全球购物
打造高效课堂实施方案
2014/03/22 职场文书
新年联欢会主持词
2014/03/27 职场文书
保护环境建议书300字
2014/05/13 职场文书
党员承诺书范文
2014/05/19 职场文书
招标保密承诺书
2015/01/20 职场文书
2015年保送生自荐信
2015/03/24 职场文书
创业计划书详解
2019/07/19 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python