vue3 axios + 跨域

import axios from 'axios'
import { ElMessage } from 'element-plus'
import {getToken} from "@/utils/Token/index.js";

const service = axios.create({
    // axios中请求配置有baseURL选项,表示请求URL公共部分
    baseURL: '/api',
    // 超时
    timeout: 1000 * 60,
    headers: {
        'Content-Type': 'application/json'
    }
})

//请求拦截器
service.interceptors.request.use((config) => {
    //如果存在token,请求携带token
    const token = getToken();
    if (token !== null) {
        config.headers['Authorization'] = token;
        config.headers['x-control-file-token'] = token;
    }
    return config;
}, (error) => {
    ElMessage.error({ message: error });
})

//响应拦截
service.interceptors.response.use((success) => {
    if (success.status === 200) {
        return success.data;
    }
}, (error) => {
    debugger
    if (error.response.status === 500) {
        ElMessage.error("服务器异常-请联系管理员")
    } else {
        ElMessage({ message: '该错误触及盲区(●ˇ∀ˇ●)' });
    }
});

export default service;

         

export default defineConfig({
  plugins: [
    vue(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  server: {
    //用来配置跨域
    host: '127.0.0.1',
    port: 8000,
    proxy: {
      '/api': {
        target: 'http://127.0.0.1:10085',//目标服务器地址
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      },
    }
  }
})

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LIUUID

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值