Ошибка политики CORS при получении запроса POST в приложении Flask из интерфейса ReactPython

Программы на Python
Anonymous
Ошибка политики CORS при получении запроса POST в приложении Flask из интерфейса React

Сообщение Anonymous »

Я разрабатываю чат-бота, используя Flask для серверной части и React для веб-интерфейса. Я сталкиваюсь с ошибкой политики CORS при попытке отправить данные из внешнего интерфейса (работающего на локальном хосте: 3000) на серверную часть (работающего на локальном хосте: 5000). Вот сообщения об ошибках, которые я вижу в консоли:
  • Доступ для загрузки по адресу «http://127.0.0.1:5000/predict». ' из источника 'http://localhost:3000' заблокирован политикой CORS: ответ на предполетный запрос не проходит проверку контроля доступа: у него нет статуса HTTP ok.

    Не удалось загрузить ресурс: net::ERR_FAILED
  • Ошибка: TypeError: Не удалось получить данные в onSendButton (app.js:29:1) в HTMLInputElement. (app.js:80:1)
Вот соответствующая часть моего приложения Flask (app.py) :

Код: Выделить всё

from flask import Flask, render_template, request, jsonify
import logging
from flask_cors import CORS

from chat import get_response

app = Flask(__name__)
logging.basicConfig(level=logging.INFO)
CORS(app)

@app.route("/", methods=['GET'])
def index_get():
return render_template("base.html")

@app.route("/predict", methods=['POST'])
def predict():
try:
data = request.get_json()
text = data.get("message")
if not text:
app.logger.error("No message provided")
return jsonify({"error": "No message provided"}), 400
response = get_response(text)
app.logger.info(f"Received response: {response}")
return jsonify({"answer": response})
except Exception as e:
app.logger.error(f"An error occurred: {e}")
return jsonify({"error": "An error occurred processing your request"}), 500

if __name__ == "__main__":
app.run(debug=False, port=5000)
Политика CORS включена, но я все еще сталкиваюсь с этими проблемами. Как мне правильно настроить CORS, чтобы мое приложение React могло взаимодействовать с серверной частью Flask? Будем очень признательны за любые предложения и советы!

Подробнее здесь: https://stackoverflow.com/questions/783 ... t-frontend

Вернуться в «Python»