CORS是Cross-Origin Resource Sharing。
解决
首先这个是浏览器层面的拦截。下面的方法都是解除浏览器拦截的方式。
解除了之后还是有可能其他方面有问题的,但是那个会提示其他错误。
比如CORs Failed之类的,这个是没收到response,大概率是没开防火墙的端口。
好的,回归正题。
开发阶段
在开发阶段,可以直接使用插件解决。firefox使用Cors Everywhere,然后在插件绿了的时候,就是可以使用Cors。
部署阶段
由于安全问题,CORS默认阻止所有不同“来源”之间的任何形式的请求。这能阻止人们从不在他们控制范围内的服务器那里获取数据。所以部署阶段是不可能允许这个问题存在的。
我的后端是Flask,所以我在部署的时候后端用gunicorn和flask配合就够了。前端npm run build之后放到后端文件夹里就够了。这样在运行的时候大家都是在同一个端口上部署的,也就不不存在跨域请求的问题。
如何把打包的vue项目放在flask?
如何通过gunicorn部署flask?
flask、nginx、gunicorn的关系是怎样的?
小结
简单来说,存在这个问题就只是开发的时候需要“解决”一下,在部署的时候不会有也不能有这个问题。python框架中你可以参考我那几个资料,其他的语言和框架应该也有类似的材料。