vue网络请求拦截

vue请求拦截器

1.新建文件夹interface,新建文件axios.js

import axios from 'axios'
import router from '../router'


export function request(config) {
    // 1.创建axios的实例
    const instance = axios.create({
        baseURL: '网络前缀',
        //设置请求超时时间
        timeout: 5000
    })

    // 2.1.请求拦截的作用
    instance.interceptors.request.use(config => {
        return config
    }, err => {
        console.log('请求拦截err: ' + err);
    })

    // 2.2.响应拦截
    instance.interceptors.response.use(res => {
        return res.data
    }, err => {
        console.log('响应拦截err: ' + err.response.status);
        if (err.response.status == 401) {
        可以做返回网络401的判断
        }
    })

    // 3.发送真正的网络请求
    return instance(config)
}


2.同文件夹下新建api.js

// 导入封装好的Axios
import {request} from './axios' //注意request.js的相对路径问题

//1. get请求---获取首页的多个数据
export function xxxx(paramsm,url) {
  return request({
    url,//地址,调用时传参
    method:'get',
    headers: {
        "Content-Type": "multipart/form-data",
        "X-Access-Token": localStorage.getItem("token"),
      },
    // 可以带参数也可以不带参数
    params:paramsm
  })
}
// 2.1 post请求---传输json数据时,获取多个数据
// export function ddd() {
//   return request({
//     url:"/xxx/xx",
//      headers: {
//       'Content-Type': 'application/json'
//     },
//     method:'post',
//     data: {
//         userName: 'xxx',
//         password: '123456'
//      }
//   })
// }

//2.2 post请求---传输文件流,表单Form Data 数据时
// export function zzz() {
//   return request({
//     url:'/zz/zz',
//     headers: {
//     'Content-Type': 'multipart/form-data'
//     },
//     method:'post',
//     data: {
//         userName: 'zzz',
//         password: '123456'
//      }
//   })
// }



3.在使用的页面

import { xxxx} from "../../interface/api"; //导入js,路径自己根据文件位置设置


methods:{
InterfaceFun2(carNum) {
      let params = {
        time: "2022-10-23",
        carNum:carNum
    };
    let url = "接口地址";
    // 在方法中调用函数即可
    getHomeMultidata(params, url)
      .then((res) => {
        console.log("接口返回值",res.result);
      })
      .catch((err) => {
        console.log(err);
      });
    },
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值