新版本vue-element-admin调用后端接口和跨域

1. vue-element-admin版本

{
  "name": "vue-element-admin",
  "version": "4.4.0",
  ...
}

2. 修改.env.development

将VUE_APP_BASE_API中内容改为空

# just a flag
ENV = 'development'

# base api
VUE_APP_BASE_API = ''

3. 修改vue.config.js

移除mock

// before: require('./mock/mock-server.js')

使用proxy跨域,在target中填写地址

proxy: {
  [process.env.VUE_APP_BASE_API]: {
    target: `要跨域的地址`,
    changeOrigin: true,
    ws: true,
    secure: false,
    pathRewrite: {
      ['^' + process.env.VUE_APP_BASE_API]: ''
    }
  }
}

从Chrome浏览器的Network中查看,请求依然是从原地址http://localhost:9528/中发出的,这是因为vue-element-admin提供的代理服务器帮你转发到了target中跨域的地址,这个对于浏览器是不透明的,所以浏览器只知道数据来自http://localhost:9528/,也就不认为有跨域的问题了。

4. 配置接口请求头

\src\utils\request.js

service.interceptors.request.use(
  config => {
    if (store.getters.token) {
      // 在这里自定义请求头
      config.headers['headerUserName'] = getToken()
    }
    return config
  },
  error => {
    // do something with request error
    console.log(error) // for debug
    return Promise.reject(error)
  }
)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值