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 相关文章推荐
深入理解javaScript中的事件驱动
May 21 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
Jan 13 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
jQuery简单绑定单个事件的方法示例
Jun 10 jQuery
Javascript ES6中对象类型Sets的介绍与使用详解
Jul 17 Javascript
提升页面加载速度的插件InstantClick
Sep 12 Javascript
Vue精简版风格概述
Jan 30 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
Sep 25 Javascript
Smartour 让网页导览变得更简单(推荐)
Jul 19 Javascript
javascript实现简易计算器功能
Sep 23 Javascript
Javascript柯里化实现原理及作用解析
Oct 22 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 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
浅谈COOKIE和SESSION区别
2015/07/19 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
Ajax::prototype 源码解读
2007/01/22 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
2018/03/12 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
python类装饰器用法实例
2015/06/04 Python
python数组复制拷贝的实现方法
2015/06/09 Python
用Python写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
2015/11/05 Python
Python数据可视化正态分布简单分析及实现代码
2017/12/04 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
浅谈Python 递归算法指归
2019/08/22 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
Holland & Barrett爱尔兰:英国领先的健康零售商
2019/03/31 全球购物
个人简历自我评价
2014/01/06 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android