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 相关文章推荐
sina的lightbox效果。
Jan 09 Javascript
javascript jQuery $.post $.ajax用法
Jul 09 Javascript
jquery中获得$.ajax()事件返回的值并添加事件的方法
Apr 15 Javascript
对new functionName()定义一个函数的理解
May 22 Javascript
原创jQuery弹出层插件分享
Apr 02 Javascript
jQuery实现鼠标经过时出现隐藏层文字链接的方法
Oct 12 Javascript
JS关闭窗口时产生的事件及用法示例
Aug 20 Javascript
JS 全屏和退出全屏详解及实例代码
Nov 07 Javascript
微信小程序 PHP后端form表单提交实例详解
Jan 12 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
Apr 08 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 Vue.js
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第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
ThinkPHP在新浪SAE平台的部署实例
2014/10/31 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
2019/10/25 PHP
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
Javascript中的delete操作符详细介绍
2014/06/06 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
JS基础随笔(菜鸟必看篇)
2016/07/13 Javascript
jQuery+CSS实现简单切换菜单示例
2016/07/27 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
记一次vue跨域的解决
2020/10/21 Javascript
[56:41]iG vs Winstrike 2018国际邀请赛小组赛BO2 第二场
2018/08/17 DOTA
python中split方法用法分析
2015/04/17 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
python3实现点餐系统
2019/01/24 Python
python实现学生成绩测评系统
2020/06/22 Python
通俗易懂了解Python装饰器原理
2020/09/17 Python
Python环境使用OpenCV检测人脸实现教程
2020/10/19 Python
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
倡议书格式
2014/04/14 职场文书
会计工作总结范文2014
2014/12/23 职场文书
护士个人总结范文
2015/02/13 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python