也许我还不太了解代理,但我的服务器后端在localhost:7000上,前端客户端在localhost:3000上。现在我在我的前端包.json中配置了一个代理:CCD_ 1。这避免了在后端安装cors,并接受了对我的服务器的请求。这是如何工作的,或者为什么要避免cors配置?那么代理和cors之间有什么区别呢?
CORS错误是由于在大多数浏览器中实现的同源策略导致的。更具体地说,你收到错误的原因是你正在向与你当前所在的源不同的源发出请求。在你的情况下,这是你在http://localhost:3000
上运行的前端,它试图访问http://localhost:7000
上的后端
为了解决这个问题,您可以更改后端以发送Access-Control-Allow-Origin
响应标头,其中包含前端的原点-或者。。。您使用代理。
代理基本上是试图通过假装后端位于同一原点localhost:3000
来欺骗浏览器,而在后台,它正在从实际原点localhost:7000
访问资源。
你可以阅读这篇文章,这篇文章对它进行了更详细的解释。