首先安装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 | 预检请求的有效时长 |
|