vue-cli开发环境前端跨域
config/index.js
proxyTable: { '/api1': { target: '******', changeOrigin: true, pathRewrite: { '^/api1': '' } }, '/api2': { target: '******', changeOrigin: true, pathRewrite: { '^/api2': '' } }, secure: false },
****** 指你的请求接口
config/dev.js 测试环境搭建
'use strict' const merge = require('webpack-merge'); const prodEnv = require('./prod.env'); module.exports = merge(prodEnv, { NODE_ENV: '"development"', API_HOST: ['"/api1"', '"/api2"'] });
config/prod.js 生产环境
'use strict'; module.exports = { NODE_ENV: '"production"', API_HOST: ['"/api1"', '"/api2"'] }
axios 设置 withcredentials:true
使用
this.$axios.get(process.env.API_HOST[3] + '/util/captcha', {responseType: 'arraybuffer'}).then(res => { if (res.status === 200) { this.captchaSrc = 'data:image/png;base64,' + btoa(new Uint8Array(res.data).reduce((data, byte) => data + String.fromCharCode(byte), '')) } else { this.$message(res.data.msg) } });
生产环境是需要后台做nginx反向代理(我们公司是这样的),然后又遇到本地环境session老是改变的问题,有人说是因为本地localhost和请求不再同一个域名下,withcredentials无效了。线上前端页面和后台接口在同一个域名下就没这个问题了。
记录别的解决方案:
https://blog.csdn.net/sky786905664/article/details/73920815