昨天晚上把本地写好的一个权限管理后台推到了生产环境,但是由于是vue+Yii前后端分离开发,所以分别部署项目的时候出了问题
呐,就是下面这个鬼东西
首先,跨域,顾名思义,就是跨区域。
由于浏览器的同源策略,当然也是为安全考虑,经过浏览器的请求,如果不同IP,不同端口等路径请求,会被阻止。
但是现在前后端分离的开发模式,这种同源策略就会对开发产生困扰。
那么怎么解决呢?
原因其实在报错信息里已经很清楚了。
Access-Control-Allow-Origin 这个就是header里用来规避跨域的设置字段,翻译一下就是 允许外部请求来源
一般来说,在服务端添加如下代码设置就可以了。
header('Access-Control-Allow-Origin:*'); header('Access-Control-Allow-Headers:Content-Type,token,lang'); header('Access-Control-REQUEST-METHOD:GET,POST');
但是,很多小伙伴的架构不尽相同,还有一种方法是从nginx配置里解决,
如下:
就是红箭头指的这个配置,
做一个nginx反向代理,这样就不经过浏览器,就不算是跨域了,(我真是个小机灵鬼~!~!)
根目录请求,是vue的项目,请求接口里带了v1 就会匹配并代理到服务端地址
以上就是跨域请求的解决方案了,来看的小伙伴,如果有不同的方式想法,来给我评论噢~!
来干一架