Запросы к API. Почему они работают так?
Есть Api сервис Кладр. Проблема в том, что обращаясь через поисковую строку браузера к api, я получаю в ответ json. Но при обращении из скрипта подключенного на странице сайта, через fetch. Я получаю ошибку CORS.
Access to fetch at 'http://kladr-api.ru/api.php?query=%D0%9A%D1%80%D0%B0%D1%81&contentType=city&limit=2&withParent=0' from origin 'http://mysite.ru' has been blocked by CORS policy.
При обращении из node js я так же получаю ответ. Причем у меня есть несколько доменов и на всех такая ошибка. Я могу получить json везде, но не напрямую из скрипта подключенного к странце. Почему я не могу получить get-запросом данные с открытого api? В чем причина такого поведения?
Ответы (2 шт):
Используйте официальный jQuery плагин КЛАДР: https://github.com/fias-api/jquery
$(function(){
$.kladr.api({
query: 'Крас',
type: 'city',
limit: 2,
withParent: 0
}, function(r){ console.log(r);})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fias-api/[email protected]/jquery.kladr.min.js"></script>