【跨域】Axios二次封装

Axios简介:

axios是一个promise实现的http库,符合最新的ES规范。要用这个东西主要有以下几个原因:

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 支持 Promise API(可以配合ES7的async await使用,解决回调地狱)
  • 客户端支持防止CSRF
  • 提供了一些并发请求的接口
  • 轻量,体积小

安装

npm install axios

执行 GET 请求

//为给定ID的user创建请求
axios.get('/user?ID=12345')
     .then(function (response) {
   
         console.log(response);
     })
     .catch(function (error) {
   
         console.log(error);
     });

//可选地,上面的请求可以这样做
axios.get('/user', {
   
    params:{
   
        ID:12345
    }
})
.then(function (response) {
   
    console.log(response);
})
.catch(function (error) {
   
    console.log(error);
});

执行POST请求:

axios.post('/user', {
   
    firstName: 'Fred',
    lastName: 'Flintstone'
})
.then(function (response) {
   
    console.log(response);
})
.catch(function (error) {
   
    console.log(error);
})

执行多个并发请求:

function getUserAccount() {
   
    return axios.get('/user/12345');
}

function getUserPermissions() {
   
    return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct,perms) {
   
    //两个请求现在都执行完成
}))

Axios二次封装:

目录:
在这里插入图片描述
axios.js:这个文件主要创建axios实例并对拦截器进行配置
拦截器图解:
在这里插入图片描述

import axios from 'axios'
import {
    getLocalStorage } from '@/utils/localStorage'
import {
    Toast } from 'vant'

//创建axios实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值