0

これに役立つ情報が見つからないようです。または、すべて間違っている可能性があります。次の 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 

私はまだ実際に成功メソッドを起動する必要があり、エラーだけです。

情報や正しい方向への指摘は大歓迎です。

4

1 に答える 1

1

クロスドメイン呼び出しが機能するには、リモート サーバーが JSON ではなく JSONP をサポートしている必要があります。そうではないようです。現在、応答は次のようになっています。

[
    {
        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 です。ただし、これを機能させるには、Web サイトが次の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要求で指定する必要があります。

Web サイトの作成者に連絡して、サイトが JSONP をサポートしているかどうかを確認してください。そうでない場合、AJAX 呼び出しでそれを消費することはできません。別の方法として、ブリッジとして機能し、リクエストをリモート ドメインに送信するサーバー サイド スクリプトをドメインに作成することもできます。そして、AJAX リクエストを独自のスクリプトに送信します。

于 2013-04-01T05:50:07.240 に答える