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 相关文章推荐
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 Javascript
js带按钮的提示框可供选择示例代码
Sep 17 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
Sep 21 Javascript
jquery实现文本框的禁用和启用
Dec 07 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
Jan 27 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
node express使用HTML模板的方法示例
Aug 22 Javascript
Promise静态四兄弟实现示例详解
Jul 07 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
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
thinkPHP事务操作简单案例分析
2019/10/17 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
多浏览器兼容的获取元素和鼠标的位置的js代码
2009/12/15 Javascript
图像替换新技术 状态域方法
2010/01/28 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
解决vue项目运行提示Warnings while compiling.警告的问题
2020/09/18 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
利用python求相邻数的方法示例
2017/08/18 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
python地震数据可视化详解
2019/06/18 Python
python实现按关键字筛选日志文件
2019/12/24 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
Python pandas如何向excel添加数据
2020/05/22 Python
python 装饰器的使用示例
2020/10/10 Python
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
高三自我鉴定范文
2013/10/19 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
八年级英语教学计划
2015/01/23 职场文书
自主招生专家推荐信
2015/03/26 职场文书
2015年教务工作总结
2015/05/23 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书