0

これは私のコードです:

$("document").ready(function () {
    var jqxhr = $.ajax({
        url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        success: function () {
            $("#foo").text("second success");
        },
        error: function (xhr, status, error) {
            $("#foo").text(JSON.stringify(xhr));
        },
        complete: function () {

        }
    });
    });

これはマークアップです:

<body>
    <div id="foo"></div>
</body>

返される (シリアル化されて に配置される#foo) データは次のとおりです。

{
"readyState":0,
"responseText":"",
"status":0,
"statusText":"error"
}

何が間違っているのかわかりません。助けてください。

ここにフィドルがあります: http://jsfiddle.net/U2gm9/4/

4

1 に答える 1

3

設定してみるdataType: 'jsonp'

$("document").ready(function () {
    var jqxhr = $.ajax({
        url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
        dataType:'jsonp',
        success: function () {
            $("#foo").text("second success");
        },
        error: function () {
            $("#foo").text("error");
        },
        complete: function () {

        }
    })
});

デモ:フィドル

$.getJSON() の使用

$("document").ready(function () {
    $.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?').done(function (data) {
        $("#foo").text("second success");
        console.log(data)
    }).fail(function () {
        $("#foo").text("error");
    }).always(function () {})
});

デモ:フィドル

于 2013-11-11T04:22:23.567 に答える