vue axios整合使用全攻略


Posted in Javascript onMay 24, 2018

惯例先安装axios,不多说!

cnpm install axios

1.axios配置

 我的目录结构src/axios/index.js,axios配置都在该文件下

src/axios/index.js 如下:

import axios from 'axios'
import qs from 'qs'
// axios 配置
axios.defaults.timeout = 5000;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
axios.defaults.baseURL = 'http://localhost:8008';

拦截器,axios.interceptors.request.use发送请求前处理

axios.interceptors.response.use接受返回后,回调之前处理处理

//POST传参序列化
axios.interceptors.request.use((config) => {
 if(config.method === 'post'){
  config.data = qs.stringify(config.data);
 }
 return config;
},(error) =>{
 return Promise.reject(error);
});
//返回状态判断
axios.interceptors.response.use((res) =>{
 if(!res.data.success){
  return Promise.reject(res);
 }
 return res;
}, (error) => {
 //404等问题可以在这里处理
 return Promise.reject(error);
});

公共方法:

export function fetch(url, params) {
 return new Promise((resolve, reject) => {
  axios.post(url, params)
   .then(response => {
    resolve(response.data);
   }, err => {
    reject(err);
   })
   .catch((error) => {
    reject(error)
   })
 })
}

业务方法:

export default {
 getAddressJson() {
  return fetch('/address/',{addressId:1})
 }
}

如果不理解可以将以上代码依次copy到src/axios/index.js文件,当然axios.defaults.baseURL = 'http://localhost:8008'; 需要换成自己的api。

2全局注册axios

为了使用axios,在各个组件中引入就可以使用:

import axios from './axios'

但是使用这种方法我们需要在每一个组件中去引入,有些麻烦,下面我们介绍一种全局注册的方法。

在main.js中:

import axios from './axios'
Vue.prototype.$axios = axios

添加这两行代码,将 axios 改写为 Vue 的原型属性,这样在各个组件中都可以使用axios,具体方法如下:

submitForm () {    
   this.$axios.getAddressJson().then(function (res) {
  //成功之后处理逻辑
    console.log(res)
   },function (res) {
    //失败之后处理逻辑
    console.log("error:"+res)
   })
  }

总结

以上所述是小编给大家介绍的vue axios整合使用全攻略,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 Javascript
Jquery 滑入滑出效果实现代码
Mar 27 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
Javascript代码实现仿实例化类
Apr 03 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 Javascript
vue使用screenfull插件实现全屏功能
Sep 17 Javascript
js实现自定义滚动条的示例
Oct 27 Javascript
vue路由拦截及页面跳转的设置方法
May 24 #Javascript
使用Vue自定义指令实现Select组件
May 24 #Javascript
详解Vue单元测试case写法
May 24 #Javascript
微信小程序通过保存图片分享到朋友圈功能
May 24 #Javascript
karma+webpack搭建vue单元测试环境的方法示例
May 24 #Javascript
react实现点击选中的li高亮的示例代码
May 24 #Javascript
浅谈Webpack 是如何加载模块的
May 24 #Javascript
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php显示时间常用方法小结
2015/06/05 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
js模拟类继承小例子
2010/07/17 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
浅析javascript中function 的 length 属性
2014/05/27 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
2014/10/17 Javascript
jQuery中queue()方法用法实例
2014/12/29 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
利用Jquery队列实现根据输入数量显示的动画
2016/09/01 Javascript
AngularJS使用自定义指令替代ng-repeat的方法
2016/09/17 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
基于JavaScript实现本地图片预览
2017/02/08 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Python 错误和异常代码详解
2018/01/29 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
python基于exchange函数发送邮件过程详解
2020/11/06 Python
益模软件Java笔试题
2012/03/27 面试题
高一生物教学反思
2014/01/17 职场文书
文明之星事迹材料
2014/05/09 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
教师考核表个人总结
2015/02/12 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL