Как забрать данные с Яндекс.Карт в JSON?

Добрый день, господа!

Есть данные по ссылке, к примеру - maps.yandex.ru/?text=%D0%BD%D0%BE%D1%82%D0%B0%D1%8...

Каким образом можно получить эти данные в мой скрипт на JS? Т.е. банально присвоить переменной, с которой потом можно было бы работать.

Возможно что не все так просто...

Прочитал, что получить данные с другого домена можно только в JSONP. Но при запросе вида:
$.ajax({
    type: "GET",
    url: "url из примера см. выше (чтобы мета много не занимать)",
    dataType: "jsonp",
})

выдается ошибка "Unexpected token :".

Я так понимаю, что парсер пытается разобрать данные как JS - код, потому и ошибка выдается.

И я так понимаю, что скорее всего надо использовать callback-функцию при получении данных через ajax в jsonp. Но пока плохо понимаю смысл данной функции: как ее строить и использовать?

Буду благодарен за вашу помощь!
  • Вопрос задан
  • 2745 просмотров
Пригласить эксперта
Ответы на вопрос 1
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
Unexpected token. Видимо у вас хром. В Лисе он бы вам выдал подробнее в фаербаге ошибку парсера.

Да, дело в том что кросдоменный зарпрос в jQuery работает только если dataType указан как "jsonp" или "script". Эмулируется работа тега script куда в src подставляется ваш запрос (вроде так) И перед любыми колбеками ответ пытается быть разобраным как jsonp. И мне ничего не удавалось сделать с этим тоже. Есть и пре фильтры и конвертеры у jQuery.ajax но не вышло.

Проще всего сделайте прокси у себя на домене и работайте через него.
www.paulund.co.uk/make-cross-domain-ajax-calls-wit...

И странно что у яндекс карт нет решения для разработчиков, что вам приходится возится с jsonp. Вы, видимо, что то пропуситили в документации я.карт для разработчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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