# 跨域处理 ## 产生原因 跨域产生的原因是由于前端地址与后台接口不是同源,从而导致 ajax 不能发送 非同源产生的问题 1. Cookie、LocalStorage 和 IndexDB 无法获取 2. DOM 无法获得 3. AJAX 请求不能发送 同源条件 **协议**,**端口**,**主机**三者相同即为同源 反之,其中只要**某一个**不一样则为不同源 ## 解决方式 **本地开发跨域** 本地开发一般使用下面 3 种方式进行处理 1. vite 的 proxy 进行代理 2. 后台开启 cors 3. 使用 nginx 转发请求 项目内部自带第一种方式,具体可以参考 [服务端交互-本地开发环境接口地址修改](mock.md) **生产环境跨域** 生产环境一般使用下面 2 种方式进行处理 1. 后台开启 cors 2. 使用 nginx 转发请求 **后台开启 cors 不需要前端做任何改动** nginx 配置文件可以查看 [nginx 配置](https://doc.vvbin.cn/guide/deploy.html#%E4%BD%BF%E7%94%A8-nginx-%E5%A4%84%E7%90%86%E8%B7%A8%E5%9F%9F)