防止jquery附加自己的回调

时间:2010-12-03 14:02:28

标签: jquery jsonp jquery-callback

我正在尝试使用$.ajax()调用Vimeo的API,但是即使我指定了自己的命名函数,Jquery也会向我的URL附加回调。我需要完全控制GET URL字符串。

我的代码:

function fback(data) {
    alert('data = ' + data);
}

$.ajax({
    url: 'http://vimeo.com/api/v2/group/processing/videos.json?format=jsonp&callback=fback',
    dataType: "jsonp",
    type: "GET",
    cache: true,
    success: fback,
});

GET请求转到:

http://vimeo.com/api/v2/group/processing/videos.json?format=jsonp&callback=fback&callback=jsonp1291384300228

如何避免这种自动回调添加?

1 个答案:

答案 0 :(得分:3)

您只需将jsonpCallback option指定为您之后的函数名称,如下所示:

$.ajax({
    url: 'http://vimeo.com/api/v2/group/processing/videos.json?format=jsonp&callback=?',
    jsonpCallback: "fback",
    dataType: "jsonp",
    type: "GET",
    cache: true
});

它的作用是代替随机生成的名称(不是那么随机,但你明白了),它会使用“fback”,导致:

http://vimeo.com/api/v2/group/processing/videos.json?format=jsonp&callback=fback

You can test it out here