Наличие Access-Control-Allow-Origin, но Chrome по-прежнему дает ошибку CORS - PullRequest
1 голос
/ 05 августа 2020

Я использую интерфейс (в reactJS) (localhost: 8080) для вызова flask API (localhost: 8000), как указано ниже:

def _build_cors_prelight_response():
    response = make_response()
    response.headers.add("Access-Control-Allow-Origin", "*")
    response.headers.add("Access-Control-Allow-Headers", "*")
    response.headers.add("Access-Control-Allow-Methods", "*")
    return response

def event_stream():
    while True:
        # wait for source data to be available, then push it
        yield 'data: {}\n\n'.format(get_message())

#from: https://stackoverflow.com/questions/25594893/how-to-enable-cors-in-flask
@app.route('/api/events', methods=["GET","OPTIONS"])
def events():
    if request.method == "OPTIONS":  # CORS preflight
        return _build_cors_prelight_response()
    elif request.method=="GET":
        return Response(event_stream(), mimetype="text/event-stream")

Хотя я указал Access-Control-Allow-Origin в шапке у меня все еще появляется ошибка cors в chrome (v. 81.0.4044.138)

enter image description here

Interestingly if I omit the line response.headers.add("Access-Control-Allow-Origin", "*") above, I would get a different error

enter image description here

In my flask endpoint, this is what I see in the console: введите описание изображения здесь

Как решить проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...