Запрос к api в js

134
04 декабря 2019, 04:30

Необходимо отправить запрос к api яндекса в js для получения и обработки данных. Пытаюсь написать ajax запрос:

$.ajax({
            url: 'https://api-maps.yandex.ru/services/route/2.0/?callback=id_155276244170680561044&lang=ru_RU&token=e150d8d2f888f6936fee0e67ca1ca581&rll=40.186,58.808~45.10,30&rtm=atm&results=3',
            type: 'GET',
            success: function (data) {
                console.log(data);
             }
     });

Или

var url = 'https://api-maps.yandex.ru/services/route/2.0/?callback=id_155276244170680561044&lang=ru_RU&token=e150d8d2f888f6936fee0e67ca1ca581&rll=40.186,58.808~45.10,30&rtm=atm&results=3';
        var xhr = new XMLHttpRequest();
        xhr.open('POST', url, false);
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.send(data);

Но никак не могу вывести данные в консоль( Если перейти по этому адресу по адресной строке то все нормально, данные отображаются. Возможно я вообще копаю в другом направлении.

P.S. В консоль падает ошибка:

 Access to XMLHttpRequest at 'https://api-maps.yandex.ru/services/route/2.0/?callback=id_155276244170680561044&lang=ru_RU&token=e150d8d2f888f6936fee0e67ca1ca581&rll=40.186,58.808~45.10,30&rtm=atm&results=3' from origin 'http://anew' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 

P.S.S. Или это все решается на стороне бэкэнда парсингом?

Answer 1

AJAX имеет ограничения на кросс-доменные запросы (можете почитать если интересно). Вы не сможете получить данные AJAX-запросом с Яндекса. О чем вам как раз и пишет в консоле. Решается естественно просто - пишите скрипт на PHP в котором будет запрос к API и делаете AJAX-запрос к своему PHP-скрипту. Так вы и получите нужные данные.

READ ALSO
Как автоматизировать прокладку маршрута на карте яндекса

Как автоматизировать прокладку маршрута на карте яндекса

У меня есть приложение, которое реализует движение персонажей анимации вдоль заранее проложенного маршрута на карте городаМаршруты, точнее...

134
Странность неявной типизации JS

Странность неявной типизации JS

Я только начал изучать JS, до этого (как и сейчас) кодю на C#Для меня неявная типизация JS - просто ужас! Появился конкретный кейс, код успешно...

145
JS: изменить стиль display по таймеру

JS: изменить стиль display по таймеру

Я не очень сильна в JS, помогите пожалуйста решить вопросЕсть div, который нужно отображать каждые условно 5 минут

121