一. 跨域问题产生的原因:

  1. 前端请求地址和后端服务器地址不同
    如果二者: 域名,协议,端口号 有一个不相同,就会产生跨域问题
    注意:本质上还是浏览器的同源策略(域名,协议,端口号 三者完全相同)

二. 解决方案

  1. 前端用JSONP方式去发请求
  2. 后端写代码(CORS)在响应中添加必要的响应头
  3. 代理转发(前端操作)

三. 代理转发实操

  1. 在vue.config.js 文件中添加如下配置
module.exports = {
  devServer: {
    // 代理转发
      proxy: {
       // .env.development 文件中   VUE_APP_BASE_API = '/dev_api'
      '/dev_api': {
           //服务器请求的地址
           target: 'http://localhost:3000/',
           // 是否跨域 布尔值(true/false)
           changeOrigin: true,
           // 路径重写    如果,所有的请求路径都没有 '/api' ,可以将其替换为空字符串''
           pathRewrite: {
          '/dev_api': '/api'
        }
      }
    }
  }
}
Logo

前往低代码交流专区

更多推荐