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 相关文章推荐
学习ExtJS accordion布局
Oct 08 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
Jan 31 Javascript
javascript学习笔记(十) js对象 继承
Jun 19 Javascript
运算符&&的三个不同层次
Apr 07 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
基于javascript实现的搜索时自动提示功能
Dec 26 Javascript
JavaScript 基本概念
Jan 20 Javascript
JavaScript 异常处理 详解
Feb 06 Javascript
AngularJS手动表单验证
Feb 01 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
js鼠标移动时禁止选中文字
Feb 19 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 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
codeigniter实现get分页的方法
2015/07/10 PHP
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
深入理解javascript变量声明
2014/11/20 Javascript
jQuery中:checked选择器用法实例
2015/01/04 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
Angular实现图片裁剪工具ngImgCrop实践
2017/08/17 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python连接字符串的方法小结
2015/07/13 Python
Python常见格式化字符串方法小结【百分号与format方法】
2016/09/18 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
python 实现音频叠加的示例
2020/10/29 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
JAVA程序员面试题
2012/10/03 面试题
数控技校生自我鉴定
2014/04/19 职场文书
承兑汇票延期证明
2015/06/23 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang