@dmitriyuvin
FullStack developer ( Laravel & Vue )

Почему получаю ошибку CORS с axios, Vue при запросах на АПИ Новой почты?

Надо обращаться на АПИ новой почты, у них в доке есть пример с JQuery
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

</head>
<body>
<script>
		$(function() {
			var settings = {
				"async": true,
				"crossDomain": true,
				"url": "https://api.novaposhta.ua/v2.0/json/",
				"method": "POST",
				"headers": {
					"content-type": "application/json",
				},
				"processData": false,
				"data": "{\r\n\"apiKey\": \"210d780975bd32f4a027cb5eeb398026\",\r\n \"modelName\": \"Address\",\r\n \"calledMethod\": \"searchSettlements\",\r\n \"methodProperties\": {\r\n \"CityName\": \"васильевка\",\r\n \"Limit\": 5\r\n }\r\n}"
			}

			$.ajax(settings).done(function (response) { console.log(response);
			});
		});

</script>
</body>
</html>

Он работает, ответ отдает, я посылаю запросы с Vue SPA с помощью axios, и получаю ошибку CORS.
const response = await axios.post(
      `https://api.novaposhta.ua/v2.0/json/Address/getCities`,
      {
        headers: {
          'Content-Type': 'application/json',
        },
        data: {
          apiKey: '210d780975bd32f4a027cb5eeb398026',
          modelName: 'Address',
          calledMethod: 'getCities',
        },
      },
    );

Но получаю ошибку CORS, что не так делаю?
  • Вопрос задан
  • 1291 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Z3ooM
Программист
Попробуйте добавить в заголовок

headers: {
          'Content-Type': 'application/json',
           mode: 'cors'
        },
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы