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 19 Javascript
JQuery 操作/获取table具体代码
Jun 13 Javascript
ext combobox动态加载数据库数据(附前后台)
Jun 17 Javascript
html的DOM中document对象anchors集合用法实例
Jan 21 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
jQuery遍历json的方法分析
Apr 16 Javascript
微信小程序 location API接口详解及实例代码
Oct 12 Javascript
jQuery Easyui datagrid行内实现【添加】、【编辑】、【上移】、【下移】
Dec 19 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
详解为什么Vue中不要用index作为key(diff算法)
Apr 04 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
Dec 01 Javascript
JavaScript实现简单动态表格
Dec 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
php循环语句 for()与foreach()用法区别介绍
2012/09/05 PHP
浅析php单例模式
2014/11/25 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
php获得文件夹下所有文件的递归算法的简单实例
2016/11/01 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
php实现简单四则运算器
2020/11/29 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
JS验证字符串功能
2017/02/22 Javascript
jquery animate动画持续运动的实例
2017/11/29 jQuery
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
Jquery 获取相同NAME 或者id删除行操作
2020/08/24 jQuery
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
Python 的AES加密与解密实现
2019/07/09 Python
python分布式计算dispy的使用详解
2019/12/22 Python
python 生成正态分布数据,并绘图和解析
2020/12/21 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
2021/03/03 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
《我为你骄傲》教学反思
2014/02/20 职场文书
运动会表扬稿范文
2015/05/05 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
PHP中->和=>的意思
2021/03/31 PHP
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python
Win11 BitLocker 驱动器加密
2022/04/19 数码科技