Не удается получить данные JSON из URL

0

Извиняюсь за то, что вы спрашиваете, как выглядит часто задаваемый вопрос, но я не могу получить данные со следующего URL-адреса: http://www.strava.com/stream/segments/860503

Я пробовал следующее:

$(document).ready(function() {
    $.ajax({
        url: "http://www.strava.com/stream/segments/860503&callback=?",
        dataType: "json",
        success: function(data) {
            $(document.body).append(data.latlng);
        }
    });
});

А также:

$(document).ready(function() {
    $.getJSON("http://www.strava.com/stream/segments/860503&callback=?", function(data) {
        $(document.body).append(data.latlng);
    });
)};

Но мне не повезло. Я искал "json" и "jsonp", добавив "& callback =?". к URL-адресу, а также другим вещам, предложенным на SO, но безрезультатно.

Любая помощь приветствуется.

Теги:
jsonp

4 ответа

0

данные из " http://www.strava.com/stream/segments/860503 " не имеют обратного вызова. он не предназначен для кросс-домена. если ваш скрипт используется на одном сервере: у вас есть доступ к php сервера, используйте echo $_GET['callback'].'('.json_encode($return).')'; иначе попробуйте использовать [php] cURL;

0

Этот конкретный URL-адрес не поддерживает JSONP. Он также не поддерживает поддержку Cross Origin Resource Sharing (CORS) через заголовок ответа Access-Control-Allow-Origin, поэтому прямое обращение к нему через ajax невозможно.

Требование поддержки JSONP заключается в том, что сервер должен вывести имя обратного вызова как функцию, передав JSON как объект JavaScript или массив в аргумент функции. Например:

myCallback({ ...... });

Возможным решением является прокси-запрос ajax через сценарий на стороне сервера в том же домене, где перекрестное происхождение не является проблемой для запросов сервера к серверу.

0

пожалуйста, смотрите этот пример сбоку. Я думаю, что для вас полезно

http://demos.jquerymobile.com/1.0a2/experiments/api-viewer/docs/jQuery.getJSON/index.html

0

ты пробовал? Разница заключается в том, что cb вместо ? в конце URL-адреса.

$(document).ready(function() {
    $.getJSON("http://www.strava.com/stream/segments/860503?callback=cb", function(data) {
        $(document.body).append(data.latlng);
    });
)};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню