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 相关文章推荐
setTimeout和setInterval的浏览器兼容性分析
Feb 27 Javascript
JQuery从头学起第二讲
Jul 04 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 Javascript
快速查找数组中的某个元素并返回下标示例
Sep 03 Javascript
分享jQuery网页元素拖拽插件
Dec 01 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
JS封装通过className获取元素的函数示例
Dec 20 Javascript
JS 实现分页打印功能
May 16 Javascript
vue draggable resizable gorkys与v-chart使用与总结
Sep 05 Javascript
JavaScript Dom 绑定事件操作实例详解
Oct 02 Javascript
手把手教你实现 Promise的使用方法
Sep 02 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
xml+php动态载入与分页
2006/10/09 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
BootStrap表单控件之文本域textarea
2017/05/23 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
原生JavaScript实现购物车
2021/01/10 Javascript
python定时器(Timer)用法简单实例
2015/06/04 Python
python写入已存在的excel数据实例
2018/05/03 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
给女儿的表扬信
2014/01/18 职场文书
2014年计算机专业个人自我评价
2014/01/19 职场文书
项目总经理岗位职责
2014/02/14 职场文书
寒假家长评语大全
2014/04/16 职场文书
产品销售计划书
2014/05/04 职场文书
贷款担保书范文
2014/05/13 职场文书
小学老师对学生的评语
2014/12/29 职场文书
武夷山导游词
2015/02/03 职场文书
答辩状格式范本
2015/05/22 职场文书
2015年国庆节标语大全
2015/07/30 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
我去timi了,一起去timi是什么意思?
2022/04/13 杂记