Почему перестал работать suggest then (ошибка Access-Control-Allow-Origin)?

Ссылка скопирована
18 января 2026 1 ответ

В консоли вот такая ошибка:

"Access to XMLHttpRequest at 'https://suggest-maps.yandex.ru/v1/suggest?apikey=1A2b3C&types=geo&text=Санкт&lang=ru_RU&results=5&origin=jsapi2Geocoder&print_address=1&bbox=-180%2C-90%2C180%2C90' from origin 'https://keik.spb.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource".

"Access to XMLHttpRequest at 'https://suggest-maps.yandex.ru/v1/suggest?apikey=1A2b3C&types=geo&text=Санкт&lang=ru_RU&results=5&origin=jsapi2Geocoder&print_address=1&bbox=-180%2C-90%2C180%2C90' from origin 'https://keik.spb.ru' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource".

Ранее такой ошибки не было, использовал ymaps.suggest(value).then(function(items) {});
Суть в том, что у яндекса недавно обновился геосаджест и они стали требовать доп. ключ.
Добавил ключ и некоторое время геосаджест работал, а недавно в консоли стала появляться такая ошибка.
Есть ли возможность исправить данную ошибку или сейчас ymaps.suggest перестал работать?

Дополнительно:

Может там где-то в настройках яндекса можно прописать домен, с которого разрешены запросы

  • freeExec, эта ошибка из-за ограничения доступа?
  • Как по итогу решилась проблема?
  • Evgeny Ilin, нужно создать геосаджест API ключ в вашем кабинете разработчика яндекс.
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Стас DB Ответ

    Проблема, связанная с ошибкой Access-Control-Allow-Origin, обычно возникает из-за того, что ваш веб-сайт пытается делать запрос к другому домену, который не разрешает кросс-доменные запросы. Это мера безопасности, предотвращающая атаки на ваш веб-сайт.

    Чтобы решить эту проблему, вам необходимо настроить сервер, к которому вы обращаетесь, чтобы он разрешил кросс-доменные запросы с вашего домена. Для этого вы можете добавить заголовок Access-Control-Allow-Origin в ответ сервера.

    Например, если вы используете PHP, вы можете добавить следующий код к вашему скрипту на сервере:

    header('Access-Control-Allow-Origin: *');

    header('Access-Control-Allow-Origin: *');

    Этот код разрешит кросс-доменные запросы от любого домена. Однако, для повышения безопасности, рекомендуется указать конкретный домен вместо "*".

    Если у вас нет доступа к серверу, к которому вы обращаетесь, и вы не можете изменить его настройки, вы можете попробовать использовать прокси-сервер, который будет делать запросы от вашего домена от имени сервера, к которому вы обращаетесь.

    Например, вы можете создать прокси-скрипт на вашем сервере, который будет делать запросы к другому серверу и передавать ответ обратно на ваш сайт. Вот пример кода на PHP для прокси-скрипта:

    $url = 'https://example.com/data'; // URL сервера, к которому вы обращаетесь
    $response = file_get_contents($url);
    header('Content-Type: application/json');
    echo $response;

    $url = 'https://example.com/data'; // URL сервера, к которому вы обращаетесь $response = file_get_contents($url); header('Content-Type: application/json'); echo $response;

    Помните, что использование прокси-сервера может повлечь за собой дополнительные нагрузки на ваш сервер и увеличить время ответа. Поэтому рекомендуется настроить сервер, к которому вы обращаетесь, чтобы он разрешал кросс-доменные запросы.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно