1

Ajax はデータを返しません。

http://jsfiddle.net/w67C4/

$.ajax({
    dataType:'jsonp',
    url: url,
    async:false,
    success: function(data){
        getUsername = data.user.id;
    },
});

返すデータは null ですが、userId を返す必要があります

4

3 に答える 3

2

これを行う必要があります:

function getUserId() {
    var url = "http://api.flickr.com/services/rest/?jsoncallback=?&api_key=fc6c52ed4f458bd9ee506912a860e466&method=flickr.urls.lookupUser&format=json&nojsoncallback=1&url=http://www.flickr.com/photos/flickr";
    var getUsername = null;

    return $.ajax({
        dataType: 'jsonp',
        url: url,
        async: false
    });
}

getUserId().done(function (result) {
    // Call the alert here..
    alert(result.user.id);
});

フィドル

于 2013-04-29T19:06:48.057 に答える
0

これは、AJAX 関数が非同期で呼び出されるためです。これは、URL が呼び出され、処理が行われている間、JavaScript コードの実行が継続され、関数から返されることを意味します。これは、成功ハンドラー内に getUsername のアラートを配置することで確認できます。その時点で、データが実際に正しく返されていることがわかります。

于 2013-04-29T19:07:56.767 に答える