vue3 vite+axios 代理配置和axios封装(请求404bug解决)

axios封装

根据不同项目叠加需求

import axios from 'axios'

// export 将 service 传出去
export const service = axios.create({
	// baseURL: process.env.VUE_APP_BASE_API, //变量地址
	baseURL:'api_v3', //重点,此处与代理保持一致!!!!
	timeout: 30000, 
	withCredentials: true, // 异步请求携带cookie
	headers: {
			// 设置后端需要的传参类型
			'Content-Type': 'application/json',
			'token': 'your token',
			'X-Requested-With': 'XMLHttpRequest',
		},
})

// request interceptor
service.interceptors.request.use(
	function (config) {
		// 在发送请求之前做些什么
		return config
	},
	function (error) {
		// 对请求错误做些什么
		console.log(error)
		return Promise.reject(error)
	}
)

// 拦截器
service.interceptors.response.use(
	function (response) {
			console.log(response)
			// 2xx 范围内的状态码都会触发该函数。
			// 对响应数据做点什么
			// dataAxios 是 axios 返回数据中的 data
			const dataAxios = response.data
			// 这个状态码是和后端约定的
			const code = dataAxios.reset
			return dataAxios
		},
		function (error) {
			// 超出 2xx 范围的状态码都会触发该函数。
			// 对响应错误做点什么
			console.log(error)
			return Promise.reject(error)
		}
)

配置代理

在根目录创建vite.config.js文件

const path = require('path')

module.exports = {
    hostname: '0.0.0.0',
    port: 3000,
    // 反向代理
	proxy: {
		'/api_v3': {
			target: 'http://XXXX.cn',
			changeOrigin: true,
			// rewrite: path => path.replace(/^\/api_v3/, '')该写法俺的项目出错了!!,找了非常久的原因,换回以前的
			pathRewrite: {
			  // 路径重写
			  '/api_v3': '' // 用'/api'代替target里面的地址
			}
		}
	}
    
}

单页面使用

import {service } from '../request/http' 

function get_data() {
		service.get('/XXXX.php').then(res=>{
		
		})
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值