如何使用具有远程源的不同回调名称的jquery ui自动完成

时间:2012-03-26 12:53:22

标签: jquery-ui autocomplete jsonp

我正在关注this示例以从远程服务器获取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 个答案:

答案 0 :(得分:1)

使用the example you are usingjsonp请求中的.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 documentation