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 回答