You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置Flask CORS仍遇跨域错误:请求被阻止问题求助

解决Flask配置CORS后仍报错的问题

可能的原因及解决步骤:

  • 确认flask-cors安装状态
    先执行pip install flask-cors确保安装了最新版本,旧版本可能存在配置兼容问题。

  • 调整CORS配置参数
    将origins改为列表形式,同时显式开启凭证支持(如果需要),修改后端CORS初始化代码:

    CORS(app, origins=["http://localhost:3000"], supports_credentials=True)
    

    或者用resources参数精准指定路由的跨域规则:

    CORS(app, resources={r"/": {"origins": "http://localhost:3000"}})
    
  • 移除路由中手动声明的OPTIONS方法
    flask-cors会自动处理预飞行OPTIONS请求,无需在路由里手动添加,修改路由代码:

    @app.route('/', methods=['POST'])
    def handle_example():
        if request.method == 'POST':
            data = request.json
            name = data.get('name')
            return "hello"
    
  • 手动添加响应头验证
    可以临时在响应中手动添加跨域头,确认是否是配置生效问题:

    from flask import make_response
    
    @app.route('/', methods=['POST'])
    def handle_example():
        if request.method == 'POST':
            data = request.json
            name = data.get('name')
            resp = make_response("hello")
            resp.headers['Access-Control-Allow-Origin'] = 'http://localhost:3000'
            return resp
    

验证修改

重启Flask服务后重新发起前端请求,查看控制台是否仍有CORS错误。如果问题依旧,打开浏览器开发者工具的网络面板,检查OPTIONS请求的响应状态码和响应头是否包含Access-Control-Allow-Origin。

内容的提问来源于stack exchange,提问作者codeaholic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:07:10