簡體   English   中英

如何使用jQuery ajax從此json字符串獲取jsonp響應

[英]How to use jQuery ajax to get a jsonp response from this json string

我似乎找不到任何信息可以幫助我解決這個問題,或者我做錯了所有情況(很可能是這種情況)。 我在此URL上有一些示例JSON數據:

http://dev.plaidduckdesign.com/zen/album.php?aid=1037521524

注意:該頁面大約需要20秒才能加載。

我通過一個json驗證器運行它,然后它又干凈了。 我試圖從該頁面請求的數據只是一個具有jonsp dataType的ajax請求,因為它不在同一域中。 但是我什么也沒做。 我只是不斷收到未知錯誤。 這是我的ajax請求:

$.ajax({
    url: url,
    dataType: "jsonp",
    data: request,
    success: function(data, textStatus, jqXHR) {
        var obj = jQuery.parseJSON(rootData);
        alert(obj[0].url);
    },
    error: function(jqXHR, textStatus, errorThrown) {
        //alert("error ") 
    } // end error:
}); // end ajax 

我還沒有真正獲得成功的方法,只是錯誤。

任何信息或指向正確的方向都倍受贊賞。

為了使跨域調用正常工作,遠程服務器必須支持JSONP,而不是JSON。 似乎並非如此。 當前響應如下:

[
    {
        url: "http://pizzutistudiosphotography.zenfolio.com/img/s8/v74/p1492770658-6.jpg?sn=3&tk=o4bxcOgmoSJ03SfRC3fclWNn73JkTdATCgOQI0JQxKA=",
        width: 640,
        height: 960,
        title: "F2013_0120_Daoust_001",
        copy: "© pizzuti studios photography | pizzutistudios.com",
        caption: "Please respect our copyright. For more information please visit <a target="_blank" href="http://pizzutistudios.com">http://pizzutistudios.com</a>"
    },
    {...}
]

這是有效的JSON。 但是為了使其正常工作,網站需要支持JSONP格式,如下所示:

somecallback(
    [
        {
            url: "http://pizzutistudiosphotography.zenfolio.com/img/s8/v74/p1492770658-6.jpg?sn=3&tk=o4bxcOgmoSJ03SfRC3fclWNn73JkTdATCgOQI0JQxKA=",
            width: 640,
            height: 960,
            title: "F2013_0120_Daoust_001",
            copy: "© pizzuti studios photography | pizzutistudios.com",
            caption: "Please respect our copyright. For more information please visit <a target="_blank" href="http://pizzutistudios.com">http://pizzutistudios.com</a>"
        },
        {...}
    ]
)

somecallback應指定somecallback的位置。

您應該聯系網站的作者,並詢問他們的網站是否支持JSONP。 如果不是,則無法通過AJAX調用使用它。 或者,您可以在域上編寫服務器端腳本,該腳本將充當網橋並將請求發送到遠程域。 然后將您的AJAX請求發送到您自己的腳本。

暫無
暫無

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

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