详解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 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
JS调试必备的5个debug技巧
Mar 07 Javascript
jQuery学习总结之jQuery事件
Jun 30 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
js+css实现tab菜单切换效果的方法
Jan 20 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
AngularJS 实现按需异步加载实例代码
Oct 18 Javascript
基于Jquery代码实现手风琴菜单
Nov 19 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
Ajax使用原生态JS验证用户名是否存在
May 26 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
Sep 09 Javascript
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/01/17 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
js查找父节点的简单方法
2008/06/28 Javascript
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
js实现5秒倒计时重新发送短信功能
2017/02/05 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
基于three.js实现的3D粒子动效实例代码
2019/04/09 Javascript
python中的列表推导浅析
2014/04/26 Python
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
python实现数据库跨服务器迁移
2018/04/12 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
python在地图上画比例的实例详解
2020/11/13 Python
基于DOM+CSS3实现OrgChart组织结构图插件
2016/03/02 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
2017/09/25 HTML / CSS
土耳其玩具商店:Toyzz Shop
2019/08/02 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
领导视察欢迎词
2014/01/15 职场文书
信用卡工资证明格式
2014/09/13 职场文书
办公室文员工作自我鉴定
2014/09/19 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
学校推普周活动总结
2015/05/07 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书