在Flask开发RESTful后端时,前端请求会遇到跨域的问题。下面是解决方法:
使用 flask-cors库可以很容易的解决
pip install flask-cors
两种方法,一个是全局/批量的,一个是单一独立的:
安全起见,一般来说使用独立的方式会常用一些。
通过给路由添加@cross_origin标识即可
from flask import Flask, jsonify
from flask_cors import cross_origin
@app.route('/upload', methods=['POST', 'OPTIONS'])
@cross_origin()
def upload():
# todo
result_text = {"result": "True"}
return jsonify(result_text)
也很简单:
from flask import Flask
from flask_cors import CORS
if __name__ == '__main__':
app.run(host='0.0.0.0', threaded=True, debug=True)
CORS(app)
这样所有的路由都会支持跨域了。
还有根据路由正则来批量控制等方式,更加灵活,可以查阅官方文档。