2011-05-17 72 views
1

我有我自己的示例在本地运行,但我无法得到它与jsonp源数据挂钩。它与json数据一起工作正常。jQuery UI自动完成与Jsonp源代码的帮助?

我看了样品这里http://jqueryui.com/demos/autocomplete/remote-jsonp.html

如果我理解正确的事情JSONP返回字符串,它是包括了一个js函数的调用。在上面的示例中,返回时似乎没有调用函数。这是怎么回事?

在我的示例中,它返回的数据看起来像下面的样子,并且返回它想要调用js函数myfunc。

myfunc([{"results":[ 
{"id":"0","name":"Leonor"}, 
{"id":"1","name":"Terry"}, 
{"id":"2","name":"James"}, 
{"id":"3","name":"Benjamin"}, 
{"id":"4","name":"Regina"}, 
{"id":"5","name":"Debra"} 
],"total":"5"}]) 

上面的示例返回的数据如下所示。但是请注意,它并不试图调用函数jQuery15107172246546687473_1305657637754

为什么我的代码想要调用myfunc,但是jquery ui示例没有调用jQuery15107172246546687473_1305657637754函数?

jQuery15107172246546687473_1305657637754({"totalResultsCount":1519,"geonames":[{"alternateNames":[{"name":"Yar","lang":"en"},{"name":"Jar","lang":"no"},{"name":"ЯР","lang":"ru"}],"countryName":"Russia","adminCode1":"80","fclName":"city, village,...","score":28.82040023803711,"countryCode":"RU","lng":52.1052778,"adminName2" 
... 
,"lat":55.019887,"adminName1":"Novosibirsk","population":0}]}); 

是完整的,我包括jQuery的用户界面的示例代码视图源:http://jqueryui.com/demos/autocomplete/remote-jsonp.html

回答

0

解决 当使用JSONP格式化查询字符串与包括回调参数调用。在服务器端,使用此回调参数将此回调参数预先加入到json输出中非常重要。

正如上面的示例中动态生成的回调是jQuery15107172246546687473_1305657637754所以解决方案是为了确保此参数预先填充我的json字符串。