Я настроил сервер с флягой CORS, и он работал для отправки данных в веб-приложение React, которое я создал, но когда я начал тестировать метод POST, он перестал работать, и теперь он не работает для отправки и получения. Журнал ошибок в консоли веб-приложения: «Origin-1001 *http://localhost:3000 не разрешен Access-Control-Allow-Origin. Fetch API не может загрузить http://127.0.0.1:5000/ из-за проверок контроля доступа.»
Я столкнулся с этой проблемой ранее и добавил flask_cors, и это работало некоторое время. Вот мой код сервера:
from flask_cors import CORS, cross_origin
app = FlaskAPI(__name__)
app.config['SECRET_KEY'] = 'the quick brown fox jumps over the lazy dog'
app.config['CORS_HEADERS'] = 'Content-Type'
cors = CORS(app, resources={r"/": {"origins": "http://localhost:port"}})
# Also fails with this variation
# cors = CORS(app, resources={r"/api/*": {"origins": "*"}})
@app.route("/", methods=['GET', 'POST'])
@cross_origin(origin='localhost',headers=['Content- Type','Authorization'])
# Also fails with these variations
# @cross_origin(origin='http://127.0.0.1:5000/',headers=['Content- Type','Authorization'])
# @cross_origin(origin='http://localhost:3000',headers=['Content- Type','Authorization'])
def job_api():
with app.app_context():
job_data = get_job_data()
json_data = jsonify(eqtls=[job.data for job in job_data])
return json_data
if __name__ == "__main__":
app.run(debug=True)
Вот мой код клиента:
componentDidMount() {
fetch('http://127.0.0.1:5000/')
.then(res => res.json())
.then((data) => {
this.setState({ job_data: data.eqtls })
})
.catch(console.log)
}