vue中二次封装 axios 以及跨域问题

1.在vue脚手架里面src文件下面创建一个api文件夹 里面分别创建index.js 和 request.js 如下图
在这里插入图片描述
2.request.js文件

// 请求
import axios from 'axios'

// create an axios instance   创建axios实例
const instance = axios.create({
	baseURL: 'http://192.168.3.6:8082', // api 的 base_url
	withCredentials: false//跨域时使用凭证,默认带上cookies
	timeout: 2000, // request timeout  设置请求超时时间
  })

// 添加请求拦截器
instance.interceptors.request.use(
  config => 
  
    return config;
  },
  error => {
    return Promise.reject(error);
  });

export default instance

3.index.js

import instance from './request'

// get接口
export function SelectableGetData() {
	return instance({
		url:'/field/selectAll',
		method: 'get',
	})
}

// post接口  普通传参
export function LoginPostData(email,password) {
	return instance({
		url:'/login',
		method: 'post',
		data:{
			email,
            password
		}
	})
}

// 当后端是query的时候前端就要使用params进行传参
export function DelTablePostData(id) {
	return instance({
		url:'/delTable',
		method: 'post',
		params:{
			id
		}
	})
}

解决跨域问题 我选择的是第三方代理服务器

创建一个vue.config.js如下图

在这里插入图片描述

module.exports = {
    // 关闭eslint
    // lintOnSave:false,
    // 代理跨域
    devServer: {
        proxy: { //配置跨域
         '/api': {
          target: 'http://192.168.3.6:8082', //这里后台的地址模拟的;应该填写你们真实的后台接口
          changOrigin: true, //允许跨域
          pathRewrite: {
           /* 重写路径,当我们在浏览器中看到请求的地址为:http://localhost:8080/api/core/getData/userInfo 时
            实际上访问的地址是:http://192.168.3.6:8082/core/getData/userInfo,因为重写了 /api
            */
           '^/api': '/'
          }
         },
        }
       },
}

注意:vue.config.js里面的target: 'http://192.168.3.6:8082'与request.js文件的baseURL: 'http://192.168.3.6:8082' 两个地址要一样否则还是回报跨域的错误

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值