天天看点

跨域如何处理

产生原因

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

非同源产生的问题

Cookie、LocalStorage 和 IndexDB 无法获取

DOM 无法获得

AJAX 请求不能发送

同源条件

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

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

解决方式

本地开发跨域

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

vite 的 proxy 进行代理

后台开启 cors

使用 nginx 转发请求

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

生产环境跨域

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

后台开启 cors

使用 nginx 转发请求

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

继续阅读