【极简 亲测】已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin‘)

CORS是Cross-Origin Resource Sharing。

解决

首先这个是浏览器层面的拦截。下面的方法都是解除浏览器拦截的方式。

解除了之后还是有可能其他方面有问题的,但是那个会提示其他错误。
比如CORs Failed之类的,这个是没收到response,大概率是没开防火墙的端口。

好的,回归正题。

开发阶段

在开发阶段,可以直接使用插件解决。firefox使用Cors Everywhere,然后在插件绿了的时候,就是可以使用Cors。
【极简 亲测】已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 ‘Access-Control-Allow-Origin‘)_第1张图片

部署阶段

由于安全问题,CORS默认阻止所有不同“来源”之间的任何形式的请求。这能阻止人们从不在他们控制范围内的服务器那里获取数据。所以部署阶段是不可能允许这个问题存在的。

我的后端是Flask,所以我在部署的时候后端用gunicorn和flask配合就够了。前端npm run build之后放到后端文件夹里就够了。这样在运行的时候大家都是在同一个端口上部署的,也就不不存在跨域请求的问题。
如何把打包的vue项目放在flask?
如何通过gunicorn部署flask?
flask、nginx、gunicorn的关系是怎样的?

小结

简单来说,存在这个问题就只是开发的时候需要“解决”一下,在部署的时候不会有也不能有这个问题。python框架中你可以参考我那几个资料,其他的语言和框架应该也有类似的材料。

你可能感兴趣的:(前端,flask,服务器,运维,flask,vue)