Come ha sottolineato @TheSharpieOne, l'errore CORS è probabilmente una falsa pista causata da un bug di Chrome Dev Tools. Se si trattava di un problema CORS effettivo, la chiamata OPTIONS pre-volo avrebbe dovuto restituire lo stesso errore.
Credo che il tuo errore 400 possa provenire da request.form['transactions'] nel gestore per la richiesta POST. request.form è una struttura dati MultiDict e secondo la documentazione in https://werkzeug. pocoo.org/docs/datastructures/#werkzeug.datastructures.MultiDict
:
Credo che se controlli la chiave "transazioni" in request.forms.keys() , scoprirai che non esiste. Nota che il tipo di contenuto per il POST è application/json non x-www-form-urlencoded . Secondo la documentazione su https://flask.pocoo.org/docs /api/#flask.Request.get_json
, ti consigliamo di ottenere i dati della richiesta utilizzando request.get_json() funzione quando il tipo mime della richiesta è application/json .