【flask跨域问题】解决它

大概7-8年前,前后端还没开始分离或者刚开始分离的之前,跨域问题很多。
后来我就没在遇到过了,这次做一个小项目,又遇到了,记录下。
现在前端的脚手架都自己能解决了。

1. 跨域

是因为出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。
所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)。
跨域问题就是当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同时出现的问题。

2、问题描述

当客户端向服务器端请求ajax服务时,如果客户端和服务器端域名不一致,就会出现跨域问题,ajax报错如下:

No ‘Access-Control-Allow-Origin’ header is present on the requested 。

3、解决方式:

1)安装flask_cors:
app初始化的时候就加载配置,如下

from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
# r'/*' 是通配符,让本服务器所有的 URL 都允许跨域请求
CORS(app, resources=r'/*')
if __name__ == "__main__":
    app.run()

你可能感兴趣的:(flask,flask,python,后端)