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 相关文章推荐
jquery多选项卡效果实例代码(附效果图)
Mar 23 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
Nov 07 Javascript
js控制href内容的连接内容的变化示例
Apr 30 Javascript
javascript使用prototype完成单继承
Dec 24 Javascript
使用VS开发 Node.js指南
Jan 06 Javascript
javascript每日必学之运算符
Feb 16 Javascript
基于javascript实现tab选项卡切换特效调试笔记
Mar 30 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 Javascript
利用three.js画一个3D立体的正方体示例代码
Nov 19 Javascript
Angular4学习教程之HTML属性绑定的方法
Jan 04 Javascript
详解vue-cli中使用rem,vue自适应
May 06 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 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可变函数的经典用法
2013/06/20 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php中get_cfg_var()和ini_get()的用法及区别
2015/03/04 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
javascript编程起步(第五课)
2007/01/10 Javascript
JQuery与iframe交互实现代码
2009/12/24 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
jQuery插件form-validation-engine正则表达式操作示例
2017/02/09 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
2017/04/07 jQuery
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
python 输出一个两行字符的变量
2009/02/05 Python
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
2017/05/19 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python实现装饰器、描述符
2018/02/28 Python
python发送告警邮件脚本
2018/09/17 Python
详解重置Django migration的常见方式
2019/02/15 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
后勤人员自我鉴定
2013/10/20 职场文书
出纳岗位职责范本
2013/12/01 职场文书
逃课检讨书
2015/01/26 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL