时间:2021-05-26
功能:点击导出按钮,提交请求,下载excel文件;
第一步:跟后端童鞋确认交付的接口的response header设置了
以及返回了文件流。
第二步:修改axios请求的responseType为blob,以post请求为例:
axios({ method: 'post', url: 'api/user/', data: { firstName: 'Fred', lastName: 'Flintstone' }, responseType: 'blob'}).then(response => { this.download(response)}).catch((error) => {})第三步:请求成功,拿到response后,调用download函数(创建a标签,设置download属性,插入到文档中并click)
下面在通过实例代码看下vue中使用axios
1.安装axios
npm:
$ npm install axios -S
cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>2.配置axios
在项目中新建api/index.js文件,用以配置axios
api/index.js
import axios from 'axios';let http = axios.create({ baseURL: 'http://localhost:8080/', withCredentials: true, headers: { 'Content-Type': 'application/x-ponent(data[k]) + '&'; } } return newData; }]});function apiAxios(method, url, params, response) { http({ method: method, url: url, data: method === 'POST' || method === 'PUT' ? params : null, params: method === 'GET' || method === 'DELETE' ? params : null, }).then(function (res) { response(res); }).catch(function (err) { response(err); })}export default { get: function (url, params, response) { return apiAxios('GET', url, params, response) }, post: function (url, params, response) { return apiAxios('POST', url, params, response) }, put: function (url, params, response) { return apiAxios('PUT', url, params, response) }, delete: function (url, params, response) { return apiAxios('DELETE', url, params, response) }}这里的配置了POST、GET、PUT、DELETE方法。并且自动将JSON格式数据转为URL拼接的方式
同时配置了跨域,不需要的话将withCredentials设置为false即可
并且设置了默认头部地址为:http://localhost:8080/,这样调用的时候只需写访问方法即可
3.使用axios
注:PUT请求默认会发送两次请求,第一次预检请求不含参数,所以后端不能对PUT请求地址做参数限制
首先在main.js中引入方法
import Api from './api/index.js';Vue.prototype.$api = Api;然后在需要的地方调用即可
this.$api.post('user/login.do(地址)', { "参数名": "参数值"}, response => { if (response.status >= 200 && response.status < 300) { console.log(response.data);\\请求成功,response为成功信息参数 } else { console.log(response.message);\\请求失败,response为失败信息 }});总结
以上所述是小编给大家介绍的vue+axios实现文件下载及vue中使用axios的实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了vue+axios实现post文件下载的具体代码,供大家参考,具体内容如下功能:点击导出按钮,提交请求,下载excel文件;这里是axios
本文实例为大家分享了vue+axios下载文件的具体代码,供大家参考,具体内容如下这里是axios的get方法。post方法请点击这里=》here注意点:Her
前言最近用Vue写项目的时候,用到axios,因为axios不能用Vue.use()(详细介绍可以参考这篇文章),所以在每个.vue文件中使用axios时就需要
Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中安装Axios模块在Vue中使用,最好安装两个模块axios和vue-axios
vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本)、axios(vue2.0版本)等插件实现axios是一个基于Promis