产生原因

跨域产生的原因是由于前端地址与后台接口不是同源,从而导致 ajax 不能发送

非同源产生的问题


Cookie、LocalStorage 和 IndexDB 无法获取 DOM 无法获得 AJAX 请求不能发送


同源条件

协议,端口,主机 三者相同即为同源

反之,其中只要 某一个 不一样则为不同源

解决方式

本地开发跨域

本地开发一般使用下面 3 种方式进行处理


vite 的 proxy 进行代理 后台开启 cors 使用 nginx 转发请求


​项目内部​​自带第一种方式,具体可以参考服务端交互-本地开发环境接口地址修改

生产环境跨域

生产环境一般使用下面 2 种方式进行处理


后台开启 cors 使用 nginx 转发请求


后台开启 cors 不需要前端做任何改动

nginx 配置文件可以查看 nginx 配置