我有以下代码。
ajax查询有效,从服务器返回的数据是有效的json 我成功地使用远程数据源使自动完成下拉列表工作,通过以下请求:http://jqueryui.com/demos/autocomplete/#remote。
我的问题是从jquery.ajax返回的数据没有显示在自动完成中。有人可以帮忙吗? THKS。
jQuery( "#input_2_5" ).autocomplete({
source: function(request, response){
jQuery.ajax({
url: "url/wp-admin/admin-ajax.php",
type:'POST',
dataType: 'json',
data:{
action: 'word_autocomplete'
},
success: function(data) {
return data;
}
});
}
});
答案 0 :(得分:2)
jQuery(“#input_2_5”)。selfocomplete({
来源:功能(请求,响应){
jQuery.ajax({
url: "url/wp-admin/admin-ajax.php",
type:'POST',
dataType: 'json',
data:{
action: 'word_autocomplete'
},
success: function (data) {
if (data.d != null) {
response($.map(data.d, function (item) {
return {
value: item.name
}
}));
}
}
});
}
});
答案 1 :(得分:0)
这个提法对我有用:我的是一个jsonp请求,但是应该这样做:
jQuery( "#input_2_5" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "url/wp-admin/admin-ajax.php",
type: 'POST',
data: 'searchterm=' + request.term,
success: function( data ) {
response( $.map( data, function ( item ) {
return item;
}));
}
});
显然你的服务器端应该在查询字符串中寻找' searchterm '...