Как использовать JQuery UI автозаполнения с другим именем обратного вызова с удаленным источником - PullRequest
2 голосов
/ 26 марта 2012

Я следую этому примеру, чтобы получить данные JSONP с удаленного сервера.jQuery добавляет свою собственную функцию обратного вызова при отправке запроса, например
http://url.com?callback=jQuery17107389513931702822_1332765044455&_=1332765051700

Но источник отвечает на данные JSONP в фиксированном формате как REPYL $ queryString ({"data": "abc"}) где queryString - строка, для которой генерируется ответ.
Как настроить параметры для поддержки моего собственного имени обратного вызова?Ошибка, которую я сейчас получаю, это

 Uncaught ReferenceError: REPLY$querystring is not defined.

ОБНОВЛЕНИЕ

, которая работала для меня:

jsonp:false,
jsonpCallback:"CALL_BACK_NAME",

1 Ответ

1 голос
/ 26 марта 2012

Используйте настройку jsonp в запросе .ajax в примере, который вы используете :

jsonp

Переопределите имя функции обратного вызова в запросе jsonp.Это значение будет использоваться вместо callback в callback =?часть строки запроса в URL.Так что {jsonp: 'onJSONPLoad'} приведет к 'onJSONPLoad =?'перешел на сервер.Начиная с jQuery 1.5, установка для параметра jsonp значения false не позволяет jQuery добавлять строку «? Callback» в URL или пытаться использовать «=?»для трансформации.В этом случае вам также следует явно установить параметр jsonpCallback.Например, {jsonp: false, jsonpCallback: "callbackName"}

jsonp: 'YOUR-CALLBACK-NAME'

См. Документацию .ajax

...