跨域处理
产生原因
跨域产生的原因是由于前端地址与后台接口不是同源,从而导致 ajax 不能发送
非同源产生的问题
- Cookie、LocalStorage 和 IndexDB 无法获取
- DOM 无法获得
- AJAX 请求不能发送
同源条件
协议,端口,主机 三者相同即为同源
反之,其中只要 某一个 不一样则为不同源
解决方式
本地开发跨域
本地开发一般使用下面 3 种方式进行处理
- vite 的 proxy 进行代理
- 后台开启 cors
- 使用 nginx 转发请求
项目内部自带第一种方式,具体可以参考服务端交互-本地开发环境接口地址修改
生产环境跨域
生产环境一般使用下面 2 种方式进行处理
- 后台开启 cors
- 使用 nginx 转发请求
后台开启 cors 不需要前端做任何改动
nginx 配置文件可以查看nginx 配置