参考文章:https://zhuanlan.zhihu.com/p/75738155
什么是跨域?
要了解跨域,先要说说同源策略。同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略。所谓同源是指:域名,协议,端口相同。当页面在执行一个脚本时会检查访问的资源是否同源,如果非同源,那么在请求数据时,浏览器会在控制台中报一个异常,提示拒绝访问。
跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。
跨域严格一点来说就是 只要协议,域名,端口有任何一个的不同,就被当作是跨域。
什么是CORS?
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
优缺点
优点:
- 支持POST以及所有HTTP请求
- 安全性相对JSOP更高
- 前端要做的事儿比较少
缺点:
- 不兼容老版本浏览器,如IE9及其以下
- 需要服务端支持
- 使用起来稍微复杂了些
在Flask中使用CORS来解决跨域问题
安装flask-cors
pip install flask-cors
如果你的试图函数是以装饰器为 路由url的,则可以使用以下方法
- 使用@cross_origin装饰器
from flask_cors import c