1.cors
cors解决跨域是由后端处理的 是真正意义上的解决跨域问题
2.jsonp
jsonp是前端解决跨域的一种方式,但实际开发中运用得并不多,通过script标签里src来传送数据,而且只能解决get请求。
3.代理服务器
这种解决跨域问题的方法是本文的主要研究介绍方法,通过开启一个代理服务器将数据先发送到代理服务器,再由代理服务器交给前端(不受同源策略的影响)
下面介绍通过vue.cli配置代理服务器
方式一的配置方式比较简洁方便 但有缺陷,这样只能配置一台代理服务器,实际开发中往往不止一台代理服务器。而且容易与前端已有文件冲突,若前端有重名文件,则以前端文件为主。
方式二的写法虽然比较复杂,但却能实现更多的功能,可以根据前缀来指定开启特定的代理服务器,并且需要通过pathRewrite配置将前缀去除否则无法获取到数据。changeOrigin可以控制是否将真实的请求端口号交给服务器,Vue中如果不写则默认为true,react中则需手动配置