2012-03-26 3 views
2

Ich bin auf this Beispiel, um JSONP-Daten von Remote-Server zu bekommen. jQuery seine eigene Callback-Funktion anhängen, während Anforderung sendet wie
http://url.com?callback=jQuery17107389513931702822_1332765044455&_=1332765051700Wie benutze ich jquery ui Autocomplete mit verschiedenen Callback-Namen mit Remote-Quelle

Aber die Quelle JSONP Daten in einem festen Format als REPYL $ querystring antwortet, ({ „data“: „abc“}) wo querystring ist die Zeichenfolge für die Antwort wird generiert.
Wie können die Optionen zur Unterstützung meines eigenen Rückrufnamens angepasst werden? Der Fehler, die ich jetzt bin immer ist

Uncaught ReferenceError: REPLY$querystring is not defined. 

UPDATE

Einstellung, die für mich gearbeitet sind:

jsonp:false, 
jsonpCallback:"CALL_BACK_NAME", 

Antwort

1

Verwenden Sie die jsonp Einstellung im .ajax Anfrage von the example you are using:

jsonp

Überschreiben Sie den Namen der Rückruffunktion in einer JSONP-Anfrage. Dieser Wert wird anstelle von 'Rückruf' in 'Rückruf =?' Teil der Abfragezeichenfolge in der URL. Also würde {jsonp: 'onJSONPLoad'} zu 'onJSONPLoad =?' an den Server übergeben. Ab jQuery 1.5 verhindert das Festlegen der jsonp-Option auf false, dass jQuery die Zeichenfolge "? Callback" zur URL hinzufügt oder versucht, "=?" Zu verwenden. für die Transformation. In diesem Fall sollten Sie auch die Einstellung jsonpCallback explizit festlegen. Zum Beispiel {JSONP: false, jsonpCallback: "callbackName"}

jsonp: 'YOUR-CALLBACK-NAME' 

Siehe .ajax documentation

+0

die gegebene Dokumentation Lesen meinen Code weiter arbeitet mit der Einstellung JSONP: false, jsonpCallback: "callbackname". obwohl die jquery immer noch eine zufällige Zeichenfolge in Daten anhängt, aber es funktioniert :) – Terminal

Verwandte Themen