У меня есть приложение React, которое отправляет POST-запрос к бэкэнду Flask. Запрос POST предназначен для изменения некоторых данных в базе данных и отправки рассчитанного значения. Кажется, все работает на стороне Flask, кроме ответа. Ответ, который я получаю от Flask:
Response { type: "cors",
url: "http://127.0.0.1:3122/update",
redirected: false,
status: 200, ok: true, statusText: "OK", headers: Headers, bodyUsed: false }
Я не уверен, что я делаю неправильно. В моем коде Flask я использую функцию, украшенную @app.after_request
response.headers.add('Access-Control-Allow-Origin', '*')
response.headers.add('Access-Control-Allow-Headers', 'Content-Type,text/plain')
response.headers.add('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS')
, а также пакет flask_cors
для поддержки CORS со стороны клиента.
app = Flask(__name__)
app.config['DEBUG'] = True
api = CORS(app, resources={r"/*": {"origins": "*"}})
Я также пытался установить mimetype
в своем ответе от Flask равным text/plain
, чтобы запрос перед полетом не вызывался.
resp = Response(response=calculation_json,
status=200,
mimetype='text/plain')
Код запроса POST:
(async () => {
const rawResponse = await
fetch(url, {
method: 'POST',
headers: {
'Accept': 'text/plain',
'Content-Type': 'text/plain'
},
body: jsonData
});
const response = await rawResponse;
if (response.status >= 200 && response.status < 300) {
console.log(response);
return Promise.resolve(response)
} else {
this.props.form.resetFields();
return Promise.reject(new Error(response.statusText))
}