簡體   English   中英

無法從URL獲取JSON數據

[英]Cannot get JSON data from URL

道歉,詢問看起來像是一個常見問題,但我似乎無法從以下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上建議的其他內容,但無濟於事。

任何幫助是極大的贊賞。

你有沒有嘗試過 ? 區別在於cb而不是? URL的末尾。

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

該特定URL不支持JSONP。 它也不通過Access-Control-Allow-Origin響應標頭提供對跨源資源共享 (CORS)的支持,因此不可能通過ajax直接調用它。

JSONP支持的要求是服務器必須將回調名稱作為函數輸出,並將JSON作為JavaScript對象或數組傳遞給函數的參數。 例如:

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

一種可能的解決方案是通過同一域上的服務器端腳本代理ajax請求,對於服務器到服務器的請求而言,跨源交叉不是問題。

來自“ http://www.strava.com/stream/segments/860503 ”的數據沒有回調。 它不是針對跨域的。 如果您的腳本在同一服務器上使用:您已訪問服務器的php,則使用echo $_GET['callback'].'('.json_encode($return) .')'; 否則嘗試使用[php] cURL;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM