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 innerText和innerHtml应用
Jan 28 Javascript
bgsound 背景音乐 的一些常用方法及特殊用法小结
May 11 Javascript
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
P3P Header解决Cookie跨域的问题
Mar 12 Javascript
jQuery操作cookie方法实例教程
Nov 25 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
Mar 16 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
jQuery新窗口打开外链接
Jul 21 Javascript
Javascript获取background属性中url的值
Oct 17 Javascript
jQuery is not defined 错误原因与解决方法小结
Mar 19 Javascript
js中时间格式化的几种方法
Jul 22 Javascript
JS使用iView的Dropdown实现一个右键菜单
May 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
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
详细讲解JS节点知识
2010/01/31 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
Python实现Linux的find命令实例分享
2017/06/04 Python
Python微信库:itchat的用法详解
2017/08/14 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
python Django 创建应用过程图示详解
2019/07/29 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
Django contrib auth authenticate函数源码解析
2020/11/12 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
上班离岗检讨书
2014/01/27 职场文书
学生手册评语
2014/05/05 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
二年级数学教学反思
2016/02/16 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
Win11软件图标固定到任务栏
2022/04/19 数码科技