我的 Python Flask 应用程序面临与 CORS 相关的问题,尽管我付出了努力,但仍无法解决它。我很感激任何指导或建议来帮助我克服这个障碍。
问题: 我有一个简单的 Flask 应用程序,用作我的前端的 API。但是,当尝试从我的前端(在不同的域上运行)发出请求时,我遇到了 CORS 问题。我已经安装了 Flask-CORS 扩展来处理这个问题,但它似乎没有按预期工作。
代码:
这是我的 Flask 应用程序的简化版本:
from flask import Flask, jsonify
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route('/api/data', methods=['GET'])
def get_data():
data = {'message': 'Hello, CORS!'}
return jsonify(data)
if __name__ == '__main__':
app.run(debug=True)
这是我的前端提出请求的片段:
fetch('http://localhost:5000/api/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
我尝试过的:
1)使用“pip install Flask-cors”安装 Flask-CORS。 2)在我的 Flask 应用程序中导入并初始化 CORS,如上面的代码所示。 3) 验证响应中是否存在“Access-Control-Allow-Origin”标头。 4)尝试了 CORS 配置的不同变体,例如显式指定来源或对所有来源使用通配符(“*”)。
尽管做出了这些努力,我仍然面临 CORS 问题。任何有关可能出现问题的见解或有关如何调试此问题的建议将不胜感激。谢谢!
如果您使用的是 Mac,只需更改应用程序的端口,我做了一些研究和接缝,例如 por 5000 用于 Apple 的一项服务。在我的 make case 中,我刚刚更改为 5050 并且工作正常。