baidu / amis

前端低代码框架,通过 JSON 配置就能生成各种页面。
https://baidu.github.io/amis/
Apache License 2.0
17.45k stars 2.53k forks source link

后端已经处理了CORS问题,前端发送请求也可以正确的收到后端返回的内容但是,前端依旧报CORS error #7789

Open munkillaa opened 1 year ago

munkillaa commented 1 year ago

实现场景:

我通过FLASK框架作为后端,但是这样会存在一个跨域问题,我在后端中正确的处理了这个问题前端发送请求后端也可以正确的返回内容,但是浏览器依旧返回CORS错误 image image

# 处理 CORS 预检请求
@app.route('/api', methods=['OPTIONS'])
def handle_preflight():
    response = app.make_default_options_response()
    response.headers['Access-Control-Allow-Origin'] = 'http://192.168.2.4'  # 允许指定的域名跨域访问
    response.headers['Access-Control-Allow-Methods'] = 'GET, POST, PUT, DELETE'  # 允许的方法列表
    response.headers['Access-Control-Allow-Headers'] = 'Content-Type'  # 允许的头部
    return response
zj5656988 commented 1 year ago

兄弟 解决了吗?我也遇到了同样的问题

lhtuling commented 1 year ago

这个坑我也遇到过 试试前端发送请求时候设置下

                xhrFields: {
                  withCredentials: true,
                },

这个是我用axios时候这样解决的 其他框架或者自带的应该设置方式不通

munkillaa commented 1 year ago

兄弟 解决了吗?我也遇到了同样的问题

我这边解决了我是直接在后端加上

from flask_cors import CORS
import json
from flask import Flask, request, jsonify, make_response
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
CORS(app, supports_credentials=True)
munkillaa commented 1 year ago

这个坑我也遇到过 试试前端发送请求时候设置下

                xhrFields: {
                  withCredentials: true,
                },

这个是我用axios时候这样解决的 其他框架或者自带的应该设置方式不通

好的,我这边已经找到方法解决了,但是谢谢你的方法(>_<)