vue 前端解决跨域

造成跨域的三个场景:

1.ip(域名)相同,端口不同

2.ip不同,端口相同

3.协议不同,如一个是http,一个是https

 

解决方法:

1,前端

由于使用的webpack 初始化的vue 项目则修改如下文件:

config/index.js

复制代码
module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'http://localhost:8099',//后端接口地址
        changeOrigin: true,//是否允许跨越
        pathRewrite: {
          '^/api': ''//重写,
        }
      }
    },
复制代码

注:

前端访问服务地址:

http://localhost:8088/

后端接口地址:

http://localhost:8099/

 

前端接口访问代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
created() {
},
mounted() {
  this.initData()
},
methods: {
  initData() {
    this.axios.create({baseURL: '/api'}).get('/echart/echart3').then(({ data }) => {
      console.info(data)
      if (data.code === 1) {
        console.info(data.dataList)
      } else {
        console.info('error')
      }
    })
  },

 

 

虽然请求端口还是8088,但是已经成功反问到8099的数据了。

代码地址请转移:https://gitee.com/zhiqishao/echart-demo

 2.后端接口加注解解决,这样前端就不用改了

 

 

posted @   ~清风煮酒~  阅读(1386)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2020-02-28 kubernates常用命令
点击右上角即可分享
微信分享提示