跨域:在浏览器里面当协议、域名、端口有任何一项不同的时候就会产生跨域
处理跨域的方式:JsonP(只能处理get请求)、cors(后端开启)、代理服务器
前两种已经在之前的文章有所解释可参观JsonP和CROS解决跨域
本文介绍代理服务器解决跨域的问题
跨域只会在开发存在,项目的发布时候,会将项目资源整合在一起放在一个服
务器下就不会存在跨域问题
跨域值仅存在浏览器中,服务器与服务器之间的数据请求是不存在跨域的问题,于是代理服务器解决跨域的思路就是:在本地设置在需要发送请求的时候本地服务器localhost拦截相关请求 代理发送给资源服务器获取数据
代理服务器设置
1. 以vue开发为例
2. 在项目本地创建vue.config.js(如果存在就不需要创建)
3. 在文件中写入以下代码
module.exports = {
devServer: {
host: 'localhost',
port: 8080,
proxy: {
'/api': {
target: 'http://localhost:3000',// 要跨域的域名
changeOrigin: true, // 是否开启跨域
},
'/get': {
target: 'http://localhost:3000',// 要跨域的域名
changeOrigin: true, // 是否开启跨域
}
}
}
}
一句话总结:学会代理服务器解决跨域从此请求不再请求他人