vue 解决跨域问题(开发环境)[通俗易懂]

vue 解决跨域问题(开发环境)[通俗易懂]一、什么是跨域问题同源:域名,协议,端口均相同不同源就是跨域,比如你的前端为localhost:9528,后端为localhost:8080,此时前端去访问后端接口就会产生跨域问题,因为端口不同。这里不详细讲,可参考百度百科-同源策略。二、如何解决跨域问题前后端都可以解决,这里仅提供vue的前端跨域解决方案:前端vue.config.js配置如下,然后保证在你访问后端接口时加个前缀/api。devServer:{port:port,open:false,ov

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、什么是跨域问题

同源:域名,协议,端口均相同

不同源就是跨域,比如你的前端为localhost:9528,后端为localhost:8080,此时前端去访问后端接口就会产生跨域问题,因为端口不同。

这里不详细讲,可参考百度百科-同源策略

二、如何解决

跨域问题前后端都可以解决,这里仅提供vue的前端跨域解决方案:

前端vue.config.js配置如下,然后保证在你访问后端接口时加个前缀/api

devServer: { 
   
    port: port,
    open: false,
    overlay: { 
   
      warnings: false,
      errors: true
    },
    proxy: { 
    // vue2.x版本为 proxyTable,vue3.x为proxy。
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      '^/api': { 
   
        target: 'http://localhost:9999', // 这里的端口是后端端口
        changeOrigin: true,
        secure: false,  // 如果是https接口,需要配置这个参数为true
        pathRewrite: { 
     // 路径重写
          '^/api':''
        }
      }
    }
  }

三、例子

以下例子访问接口的时候都会保证访问的路径为:/api/about/first,包含前缀/api

例1 以axios为例

axios.get('/api/about/first', function (res) { 
    
   console.log(res) 
})

例2 以 vue-element-admin为例

request.js:baseURL这里不写 baseURL

const service = axios.create({ 
   
  // baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  // withCredentials: true, // send cookies when cross-domain requests
  timeout: 10000 // request timeout
})

api/xxx.js: 在接口这里加前缀

import request from '@/utils/request.js'

export default { 
   
  getFirst() { 
   
    return request({ 
   
      url: '/api/about/first',
      method: 'get'
    })
  }
  }

vue.config.js:

devServer: { 
   
    port: port,
    open: false,
    overlay: { 
   
      warnings: false,
      errors: true
    },
    proxy: { 
   
      // change xxx-api/login => mock/login
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      '^/api': { 
   
        target: 'http://localhost:9999', // 这里的端口是后端端口
        changeOrigin: true,
        secure: false,  // 如果是https接口,需要配置这个参数为true
        pathRewrite: { 
   
          '^/api':''
        }
      }
    }
  }

例3 仍以 vue-element-admin为例

request.js:baseURL这里加前缀

const service = axios.create({ 
   
  baseURL: '/api', // url = base url + request url process.env.VUE_APP_BASE_API+'api'
  withCredentials: true, // send cookies when cross-domain requests
  timeout: 5000 // request timeout
})

api/xxx.js:这里不加前缀

import request from '@/utils/request.js'

export default { 
   
  getFirst() { 
   
    return request({ 
   
      url: '/about/first',
      method: 'get'
    })
  }
  }

vue.config.js:

devServer: { 
   
    port: port,
    open: false,
    overlay: { 
   
      warnings: false,
      errors: true
    },
    proxy: { 
   
      // change xxx-api/login => mock/login
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      '^/api': { 
   
        target: 'http://localhost:9999', // 这里的端口是后端端口
        changeOrigin: true,
        secure: false,  // 如果是https接口,需要配置这个参数为true
        pathRewrite: { 
   
          '^/api':''
        }
      }
    }
  }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/192600.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用python删除文件_python运行另一个py文件

    用python删除文件_python运行另一个py文件python删除文件夹和文件

    2022年10月26日
  • Ifconfig_5k是多少啊

    Ifconfig_5k是多少啊文章目录Linux_day06-07Linux的网络相关一.设置主机名二.chkconfig服务配置三.ntp服务四.防火墙服务——软件防火墙五.网络相关的一些命令1. **ifconfig**2. **netstat**3. **ping**4. **telnet**——用于测试端口连通性5. **curl**——资源定位Linux_day06-07Linux的网络相关一.设置主机名临时设置:#hostname 新主机名(切换用户生效,重启还原)永久设置:修改配置文件/etc/hostname

  • Python爬虫之女神网图片(三)

    Python爬虫之女神网图片(三)女神网是一个可以搜索女神的图片的网站。废话不说,直接来干货:环境配置:系统环境:WIN7/8/10编译环境:Python3+所需库:requests、re、os、pymongo、Beatifulsoup、timeIDE:Pycharmnvshen.py#!/usr/bin/python#-*-coding:utf-8-*-importrequestsfromrequestsi…

  • ms17010复现

    ms17010复现关于漏洞的复现干多了就发现,这种菜鸟级别的复现,,真是没有啥实用性,主要就是,自己玩玩,,,唉,,  ms17_010,好像跟什么永恒之蓝,勒索病毒有啥关系。但是,我这种小白可管不着,而且现在做的所有的复现都是基于防火墙关闭,所以,没有啥技术,复现也白复现。。。。 好了,还是讲复现: 搜索:search17_010很容易看出来,这个第一个方法是搜索网段中主机漏洞的,

  • 搭建个人服务器

    搭建个人服务器组建一个自己的服务器相信学习了一段时间的网页以后,都想自己做一个网站,体验一哈当站长的感觉,这里小佬弟今天就教大家搭建一个属于自己的服务器!…

  • CMOS图像传感器基础知识和参数理解「建议收藏」

    CMOS图像传感器基础知识和参数理解「建议收藏」CMOS图像传感器的工作原理:每一个CMOS像素都包括感光二极管(Photodiode)、浮动式扩散层(Floatingdiffusionlayer)、传输电极门(Transfergate)、起放大作用的MOSFET、起像素选择开关作用的M0SFET.在CMOS的曝光阶段,感光二极管完成光电转换,产生信号电荷,曝光结束后,传输电极门打开,信号电荷被传送到浮动式扩散层,由起放大作用的MOSFET电极门来拾取,电荷信号转换为电压信号。所以这样的CMOS也就完成了光电转换、电荷电压转换、模拟数

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号