Il tuo Access-Control-Allow-Origin
verrebbe controllato con una richiesta OPTIONS
, che è stata rifiutata, quindi XHR non è possibile.
In generale, la risposta di joe è corretta, ma tieni presente che è fondamentale avere il tipo di contenuto della richiesta essendo controllato dal servizio web come application/json
. Perché è effettivamente possibile inviare dati JSON validi tramite modulo sfruttando l'attributo enctype="text/plain"
.
Funziona con Chrome (per quanto ne so, dipende dal browser come gestire il testo / tipo di contenuto semplice):
<form action="https://example.com" method="post" enctype="text/plain">
<input type="hidden" name='{"foo": "bar", "ignored-by-backend":"' value='"}'>
<button>submit</button>
</form>
Il browser concatena il nome e il valore separati da un carattere =
. I dati JSON inviati al servizio web hanno il seguente aspetto:
{"foo": "bar", "ignored-by-backend":"="}
Si noti inoltre che esiste una bozza per consentire enctype="application/json"
, tuttavia non viene più mantenuto e per quanto ne so attualmente nessun browser lo implementa . Ma non possiamo sapere se sarà possibile un giorno.