1。什么是跨域跨域是指浏览器不允许当前页面的来源向其他来源请求数据。来源是指协议、端口和域名。只要这三者有一个不同,就是跨域。示例:当前页面url是否为请求页面url是否跨域原因http://www.test.com/http://www.test.com/index.html无同源(同协议、同域名、端口号)http://www.test.com/https://www.test.com/index.html不同的跨域协议(http/https)http://www.test.com/http://www.baidu.com/跨域主域名不同(test/baidu)http://www.test.com/http://blog.test.com/跨域子域名不同(www/blog)http://www.test.com:8080/http://www.test.com:7001/不同的跨域端口号(8080/7001)2、跨域解决方案使用proxy代理:首先创建一个vue.config.js文件module.exports={publicPath:'./',outputDir:'dist',assetsDir:'static',lintOnSave:process.env.NODE_ENV==='development',productionSourceMap:false,devServer:{port:端口,open:true,overlay:{warnings:false,errors:true},//代理跨域配置proxy:{//当我们本地请求有/api届时,它会代理我们的请求地址向另一台服务器发送请求//这里的api是指如果我们的请求地址有/api,就会触发代理机制//localhost:8888/api/abc=>ProxytoAnotherserver'/api':{target:'www.baidu.com',//跨域请求的地址changeOrigin:true,//只有这个值为true,才表示跨域安全:false,//如果是https接口,需要配置这个参数//路径重写pathRewrite:{//重路由localhost:8888/api/login=>www.baidu.com/api/login'^/api':''//假设我们要把localhost:8888/api/login改成www.baidu.com/login,我们需要这样做}}}}}//注意:修改配置文件后,必须是重启生效3.总结:Proxy跨域的主要方法是使用服务器请求服务器,避免跨域问题。一般流程:浏览器===>代理服务器===>目标服务器。有不懂的地方欢迎加q群147936127交流,谢谢~
