详解axios在vue中的简单配置与使用


Posted in Javascript onMay 10, 2017

一、axios 简介

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 发出 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换JSON数据
  • 客户端支持防止 CSRF/XSRF

二、引入方式:

npm:

$ npm install axios
//淘宝源
$ cnpm install axios

bower:

$ bower install axios

cdn:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

三、vue中axios的配置

之前那个开源项目一开始就打算用axios,在网上找了好多文章与攻略,发现好多都不太详细,所以打算自己动手配置一个,(不要怂,撸起袖子就是干)。

我的配置:

import axios from 'axios'
import qs from 'qs'
import * as _ from '../util/tool'
axios.defaults.timeout = 5000;            //响应时间
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';      //配置请求头
axios.defaults.baseURL = '你的接口地址';  //配置接口地址
//POST传参序列化(添加请求拦截器)
axios.interceptors.request.use((config) => {
 //在发送请求之前做某件事
  if(config.method === 'post'){
    config.data = qs.stringify(config.data);
  }
  return config;
},(error) =>{
   _.toast("错误的传参", 'fail');
  return Promise.reject(error);
});
//返回状态判断(添加响应拦截器)
axios.interceptors.response.use((res) =>{
 //对响应数据做些事
  if(!res.data.success){
    // _.toast(res.data.msg);
    return Promise.reject(res);
  }
  return res;
}, (error) => {
  _.toast("网络异常", 'fail');
  return Promise.reject(error);
});
//返回一个Promise(发送post请求)
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)
      })
  })
}

四、vue中使用配置好的axios

export default {
  /**
   * 用户登录
   */
  Login(params) {
    return fetch('/users/api/userLogin', params)
  }, 
  /**
   * 用户注册
   */
  Regist(params) {
    return fetch('/users/api/userRegist', params)
  },
  /**
   * 发送注册验证码
   */
  RegistVerifiCode(tellphone) {
    return fetch('/users/api/registVerifiCode', {tellphone: tellphone})
  },
  ......
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过javascript的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
JavaScript实现x秒后自动跳转到一个页面
Jan 03 Javascript
js动态修改整个页面样式达到换肤效果
May 23 Javascript
AngularJS 过滤与排序详解及实例代码
Sep 14 Javascript
基于jQuery实现滚动切换效果
Dec 02 Javascript
使用webpack打包koa2 框架app
Feb 02 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
Feb 09 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
Aug 09 Javascript
JS字符串补全方法padStart()和padEnd()
May 27 Javascript
支付宝小程序实现省市区三级联动
Jun 21 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
jQuery+PHP+Mysql实现抽奖程序
Apr 12 #jQuery
JavaScript实现form表单的多文件上传
Mar 27 #Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 #Javascript
利用PM2部署node.js项目的方法教程
May 10 #Javascript
全面解析vue中的数据双向绑定
May 10 #Javascript
利用forever和pm2部署node.js项目过程
May 10 #Javascript
javascript简单链式调用案例分析
May 10 #Javascript
You might like
php实现天干地支计算器示例
2014/03/14 PHP
php从字符串创建函数的方法
2015/03/16 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
thinkPHP使用post方式查询时分页失效的解决方法
2015/12/09 PHP
yii2.0框架场景的简单使用示例
2020/01/25 PHP
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
jquery事件重复绑定的快速解决方法
2014/01/03 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
详解nodejs中的process进程
2017/03/19 NodeJs
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
2017/11/08 jQuery
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
让Python代码更快运行的5种方法
2015/06/21 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
Python实现基本数据结构中栈的操作示例
2017/12/04 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
Python读取表格类型文件代码实例
2020/02/17 Python
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
美国眼镜网站:LensCrafters
2020/01/19 全球购物
天网面试题
2013/04/07 面试题
Linux常见面试题
2016/10/04 面试题
新闻专业推荐信范文
2013/11/20 职场文书
自荐信格式简述
2014/01/25 职场文书
爱岗敬业演讲稿
2014/05/05 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
三严三实心得体会范文
2014/10/13 职场文书
结婚纪念日感言
2015/08/01 职场文书