@dikium

Почему отправка application/json через axios вызывает CORS-ошибку?

Я пытаюсь оптравить post-запрос через axios на сервер вот таким путём:
axios
        .post('/authors', {...this.loginFields, ...this.registerFields})
        .then(response => {
	        if (response.data.result === 'success') {
            // success
          } else if (response.data.result === 'error') {
            // error
          }
        })
        .catch(error => console.error(error))


При этом я получаю следующую ошибку в консоли:
5f1acea867a61012174765.png

При вот таком запросе:
5f1ad078d7c63379855939.png

Однако, стоит поменять отправляемые данные на строку, и я не получаю эту ошибку. Т.е. этот код в порядке:
axios
        .post('/authors', JSON.stringify({...this.loginFields, ...this.registerFields}))
        .then(response => {
	        if (response.data.result === 'success') {
            // success
          } else if (response.data.result === 'error') {
            // error
          }
        })
        .catch(error => console.error(error))


При вот таком запросе:
5f1ad09202f8b759020957.png

При этом nginx настроен на отправку cors-заголовка вот так:
location / {
	add_header Access-Control-Allow-Origin *;
	try_files $uri $uri/ /index.php?$args;
}


В чём тут может быть дело?
  • Вопрос задан
  • 1773 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
Допустимыми значениями заголовка Content-Type являются:
application/x-www-form-urlencoded
multipart/form-data
text/plain

Там же и про настройку всё.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@k_sharonov
Помог? Отметь решением!
У вас фронтенд и бекенд на разных "локальных доменах" подняты? Настройте CORS и заголовки на сервере.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы