一、什么是跨域?
首先跨域出于浏览器的同源策略的限制,浏览器本身会限制跨域请求(严格来说,只是限制跨域的读操作)。那什么是跨域呢?在不同的协议、域名、端口中进行请求,就是跨域。
二、如何解决跨域?
一般多用于本地自测或者前后端开发部署均为分离的情况
1、webpack的proxyTable方案
在一般项目中都会有webpack对应的开发环境的配置文件:webpack.dev.js,在配置项中加入ProxyTable的配置项即可:
proxy: {
'/api': {
changeOrigin: true,
target: 'http://******.*****.com',
}
}
如果前后端前缀不匹配或者后端前缀不统一的情况,可以增加pathRewrite属性来统一:
proxy: {
'/EntryApp': {
changeOrigin: true,
target: 'http://******.*******.com',
pathRewrite: {"^/EntryApp": "/EntryApp"}
},
}
proxyTable实现跨域可能存在的问题:
1.cookie丢失,接口无法访问
2.post请求报403错
三、vue打包之后用Nginx代理
Nginx是一个免费的,开源的高性能的HTTP和反向代理服务器。
通常ÿ