使用jquery ui autocomplete + ajax json数据

我正在尝试使用http://jqueryui.com/autocomplete/#remote-jsonp

我已经采用了这些代码并尝试对其进行调整。 使用原始代码(我可以获得城镇),当我适应我的数据时,它没有(没有列出,没有出现)。 我从php文件中获取json数据。 这是我的代码:

jQuery的:

function log( message ) { $( "
" ).text( message ).prependTo( "#log" ); $( "#log" ).scrollTop( 0 ); } $( "#city" ).autocomplete({ source: function( request, response ) { console.log(request.term); $.ajax({ type: "POST", url: "/chercheabo", dataType: "jsonp", data: { achercher: request.term }, success: function( data ) { response( $.map( data.myData, function( item ) { return { label: item.pseuDO + (item.pseuDO ? ", " + item.userID : "") + ", " + item.pseuDO, value: item.pseuDO } })); } }); }, minLength: 2, select: function( event, ui ) { log( ui.item ? "Selected: " + ui.item.label : "Nothing selected, input was " + this.value); }, open: function() { $( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" ); }, close: function() { $( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" ); } });

我的HTML:

 
Powered by geonames.org
Result:

我的json代码返回:

 {"myData":[{"userID":"11","pseuDO":"toto"},{"userID":"20","pseuDO":"blogo"}]} 

你能在我的代码中看到什么问题吗?…谢谢

更新:从问题中的评论添加php文件

 $options = array(); $result = mysqli_query($link,"select userid, pseudo from utili where pseudo like '%".strtolower($_POST[achercher])."%'"); while($uti = $result->fetch_object()) { $options['myData'][] = array( 'userID' => $uti->userid, 'pseuDO' => $uti->pseudo ); } echo json_encode($options); 

[编辑]:将jsonp更改为json然后它的工作原理!