2010-12-03 5 views
3

Ich versuche, Vimeo API mit $.ajax() aufrufen, aber Jquery hängt einen Rückruf an meine URL, auch wenn ich meine eigene benannte Funktion angeben. Ich brauche vollständige Kontrolle über die GET-URL-Zeichenfolge.Verhindern Sie, dass jquery einen eigenen Callback anfügt

Mein Code:

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, 
}); 

Die GET-Anfrage geht an:

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

Wie kann ich diesen automatischen Rückruf zusätzlich vermeiden?

Antwort

3

Sie müssen nur die jsonpCallback option geben den Namen der Funktion, nachdem Sie sind sein, wie folgt aus:

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

Was das bedeutet ist, anstatt die zufällig generierten Namen (auch nicht so zufällig, aber man bekommt, der Punkt), wird es verwenden ` "FBack", was zu:

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

You can test it out here.

+0

jquery fügt immer noch '& callback = fback' Teil an die GET-URL an. In diesem Fall ist es der korrekte Funktionsname. Aber es ändert immer noch meine Zeichenfolge, die schlecht ist, da diese Zeichenfolge signiert werden muss. Neben dem Splicen der Callbacks aus der Zeichenfolge nach dem Signieren gibt es eine andere Möglichkeit, zwei '& callback = fback' Teilstrings davon abzuhalten, an die GET-URL angehängt zu werden? – moskovich

+0

@moskovich - hast du den "Erfolg" -Handler wie oben entfernt? :) –

Verwandte Themen