Flask, Access-Control-Allow-Origin 跨域请求的解决方法
Posted 猎人在吃肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask, Access-Control-Allow-Origin 跨域请求的解决方法相关的知识,希望对你有一定的参考价值。
1、问题描述
由于浏览器受同源策略的限制,在使用 XMLHttpRequest 对象进行跨域请求时,通常会报 No ‘Access-Control-Allow-Origin’ header is present on the requested resource 错误,导致请求失败。
2、解决思路
解决该问题的基本思路是使用 CORS(Cross-Origin Resource Sharing)
或 JSONP
,具体到 Flask 场景R,方法如下。
3、跨域的具体实现
伪代码 :
from flask import Flask
## 1、导入flask_cors 模块 ,pip install flask_cors
from flask_cors import CORS
def hello(resp):
data =
"message": "hello flask",
json_str = json.dumps(data, ensure_ascii=False)
resp = make_response(json_str)
# 2、headers 中进行设置
resp.headers["Content-Type"] = "application/json;chartset=UTF-8" # 设置响应头
resp.headers['Access-Control-Allow-Origin'] = '*'
resp.headers['Access-Control-Allow-Methods'] = 'GET,POST,OPTIONS' # 如果有其它方法(delete,put等),断续添加
resp.headers['Access-Control-Allow-Headers'] = 'x-requested-with,content-type'
return resp
if __name__ == '__main__':
app = Flask(__name__)
app.run(debug=True)
## 3、调用 CORS
CORS(app)
以上是关于Flask, Access-Control-Allow-Origin 跨域请求的解决方法的主要内容,如果未能解决你的问题,请参考以下文章