VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • 第五十五篇:Axios的封装

好家伙,

 

上图

 

1.为什么需要封装axios?

当我们改变项目的使用环境时候,url也会随之改变,那么我们就需要改很多axios请求中的url配置

现在我们将axios封装,在项目使用环境改变时我们只用改变axios封装方法中的baseurl一项就行了,请求的接口地址不变

 

 

2.Axios的封装方式

在src的文件中新建一个request.js的文件

复制代码
import axios from "axios";
//创建一个axios的对象

const instance = axios.create({
    baseURL:"https://xxx.xxx.xxx",  // baseURL会在发送请求的时候拼接在url参数前面
    timeout: 5000
});


instance.interceptors.request.use(
    function(config){
        return config;
    },
    function(err) {
        return Promise.reject(err);
    }
};


export function get(url, params)

    return instance.get(url, {
    params
    });


export function post(url, data) {
     return instance.post(url, data); 
}      
复制代码

 

回到food.vue文件加上方法引入

import { get } from "../src/request";

方法配置:

复制代码
methods : {
      getData(){
       
          axios.get("/user/food",{
            params:{
              uid:1,
            },
            headers:{}
          })
          .then(res =>console.log(res));  //成功后直接出结果
      },
    }
复制代码

封装完成

 

3.axios全局拦截 

请求拦截

复制代码
//请求拦截
//所有的网络请求都会先走这个方法
instance.interceptors.request.use{
  function(config){
    console.group("全局请求拦截");
    console.Log(config);
    console.groupEnd();
    return config;
  },
  function(err) {
  return Promise.reject(err);
};
复制代码

 

 

响应拦截

复制代码
// 响应拦截所有的网络请求退回数据之后都会先执行此方法

//此处可以根据服务器的放回状态码做相应的数据

instance.interceptors.response.use{
  function(response) {
  console.group("全局响应拦截");
  console.log(response);
  console.groupEnd();
  return response;
  function(err){
  return Promise.reject(err);
  }
};
复制代码

 

(其具体作用暂时未知,笔记先记上)

 

出处:https://www.cnblogs.com/FatTiger4399/p/15991908.html

相关教程