可以以某种方式更改回调函数名称?

Cli*_*Hui 3 ajax jquery json jsonp

嘿,我正在向AJAX调用"flickr.interestingness.getList"来获取有趣的图片,这是我的AJAX调用.

function getPhoto()
{
$.ajax("http://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&api_key=fbfe07eb3cc28814df5bbc0313cdd521", 
        {
        dataType: "jsonp",
        //jsonp: false, jsonFlickrApi: "jsonpcallback",
        jsonpCallback: "jsonFlickrApi",
        });
}

function jsonFlickrApi(data)
{
alert(data.photos.photo);
}
Run Code Online (Sandbox Code Playgroud)

这里的"JsonFlickrApi"是来自Flickr的预定义函数,它包装了包含一堆照片的json对象.我的问题是,我可以以某种方式覆盖预定义的函数,"jsonFlickApi"并将回调函数命名为"jsonFlickrApi"之外的其他东西,我认为jsonp参数应该在我阅读jQuery文档但未能更改它之后执行此操作.或者我不太明白jsonp参数在jQuery AJAX调用中的作用.谢谢

Fel*_*ing 6

你很亲密 这非常有效:

function getPhoto() {
    $.ajax({
        url: "http://api.flickr.com/services/rest/?method=flickr.interestingness.getList&format=json&api_key=fbfe07eb3cc28814df5bbc0313cdd521",
        dataType: "jsonp",
        jsonp: 'jsoncallback',
        success: function(data) {
            alert(data);
        }
    });
}

getPhoto();
Run Code Online (Sandbox Code Playgroud)

DEMO

文档所述,您可以使用jsoncallback参数设置自己的回调名称.因此我们必须设定jsonp: 'jsoncallback'.在jQuery文档中,您可以发现建议让jQuery选择一个回调名称.只需设置success回调即可完成.