Como @TheSharpieOne apontou, o erro CORS é provavelmente um arenque vermelho causado por um bug do Chrome Dev Tools. Se fosse um problema real do CORS, a chamada OPTIONS pré-voo deveria ter retornado o mesmo erro.
Acredito que seu erro 400 pode estar vindo de
request.form['transactions'] no manipulador para a solicitação POST. request.form é uma estrutura de dados MultiDict e de acordo com a documentação em https://werkzeug. pocoo.org/docs/datastructures/#werkzeug.datastructures.MultiDict
:Acredito que se você verificar a chave 'transactions' em
request.forms.keys() , você descobrirá que ele não existe. Observe que o tipo de conteúdo para o POST é application/json não x-www-form-urlencoded . De acordo com a documentação em https://flask.pocoo.org/docs /api/#flask.Request.get_json
, você desejará obter os dados da solicitação usando o request.get_json() função quando o tipo mime da solicitação é application/json .