Flask跨域问题的多种方法

首先安装flask-cors

1

pip install flask-cors

全局跨域配置

方式 范围 说明
CORS函数 配置全局API接口 适用于全局的API接口配置
app = Flask(__name__)
cors = CORS(app,’参数如下‘)

@app.route("/")
def test_api():
 return "test_success"
装饰器参数 类型 Head字段 说明
origins 列表、字符串或正则表达式 Access-Control-Allow-Origin 配置允许跨域访问的源,
*表示全部允许
methods 列表、字符串 Access-Control-Allow-Methods 配置跨域支持的请求方式,
如:GET、POST
expose_headers 列表、字符串 Access-Control-Expose-Headers 自定义请求响应的Head信息
allow_headers 列表、字符串或正则表达式 Access-Control-Request-Headers 配置允许跨域的请求头
supports_credentials 布尔值 Access-Control-Allow-Credentials 是否允许请求发送cookie,
false是不允许
max_age 整数、字符串 Access-Control-Max-Age 预检请求的有效时长

单个接口配置

方式 范围 说明
@cross_origin装饰器 配置单个路由 适用于配置特定的API接口
@app.route("/")
@cross_origin()
def helloWorld():
 return "Hello-world!"

蓝图(Blueprint)配置

market = Blueprint('market', __name__)
CORS(market,’参数如下‘) 
 
@market.route("/api/v1/test/")
def test_api():
 return "test_success"
参数 类型 Head字段 说明
resources 字典、迭代器或字符串 全局配置允许跨域的API接口
origins 列表、字符串或正则表达式 Access-Control-Allow-Origin 配置允许跨域访问的源,
*表示全部允许
methods 列表、字符串 Access-Control-Allow-Methods 配置跨域支持的请求方式,
如:GET、POST
expose_headers 列表、字符串 Access-Control-Expose-Headers 自定义请求响应的Head信息
allow_headers 列表、字符串或正则表达式 Access-Control-Request-Headers 配置允许跨域的请求头
supports_credentials 布尔值 Access-Control-Allow-Credentials 是否允许请求发送cookie,
false是不允许
max_age 整数、字符串 Access-Control-Max-Age 预检请求的有效时长

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