vue使用axios配置跨域

Laughing
2021-05-06 / 1 评论 / 1,214 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月18日,已超过305天没有更新,若内容或图片失效,请留言反馈。

开发环境中,我们一般通过两种方式解决跨域:

  1. 让后端设置CORS,允许我们请求。
  2. 前端在webpack中设置proxyTable{}代理。

后端地址

我们这里简单模拟一下后台就可以了,请求路径为

http://localhost:8080/normal

前端配置

安装axios

通过npm安装axios

npm install axios --save

配置main.js

import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = '/api'

修改代理

打开vue项目config文件夹下的index.js在里面把proxyTable: {}设置如下

proxyTable: {
      '/api': {
        target:'http://localhost:8080', // 请求后台的地址
        changeOrigin:true, // 在本地会创建一个虚拟服务端,然后发送请求的数据,并同时接收请求的数据,这样服务端和服务端进行数据的交互就不会有跨域问题
        pathRewrite:{  // 路径重写,
          '^/api': ''  // 替换target中的请求地址,相当于前台请求/api/xx会替换成http://localhost:8080/xx。
        }
      }
    },

测试

 this.$axios.get('/normal').then(res=>{
      console.log(res)
    })
2

评论 (1)

取消
  1. 头像
    eric
    Android · Google Chrome

    画图

    回复
  2. 头像
    fdsfs
    MacOS · Google Chrome

    fadsfsf厉害啦啊

    回复