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 http://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 http://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
.