jQuery自动完成远程JSON数据源不返回数据
我一直在做这方面的工作,搜索了所有其他示例,但似乎仍然没有找到答案,尝试使用jquery ui autocomplete,第一次尝试将这一切放在一起。这是我的JS:jQuery自动完成远程JSON数据源不返回数据,jquery,autocomplete,Jquery,Autocomplete,我一直在做这方面的工作,搜索了所有其他示例,但似乎仍然没有找到答案,尝试使用jquery ui autocomplete,第一次尝试将这一切放在一起。这是我的JS: $(document).ready(function () { $("#search-title").autocomplete({ source: function ( request, response ) { $.ajax({ url: "/include/autocomplete
$(document).ready(function () {
$("#search-title").autocomplete({
source: function ( request, response ) {
$.ajax({
url: "/include/autocomplete",
dataType: "json",
data: {
term: request.term
},
success: function (data) {
response( $.map( data.stuff, function ( item ) {
return {
label: item.name,
value: item.name
};
}));
}
});
},
minLength: 2,
focus: function (event, ui) {
$(event.target).val(ui.item.label);
return false;
},
select: function (event, ui) {
$(event.target).val(ui.item.label);
window.location = ui.item.value;
return false;
}
});
});
查看Firebug中的响应,我想我在这里得到了正确格式的JSON:
{"stuff":[ {"label" : "Dragon", "value" : "http://site.com/animal/firebreathers"}] }
但出于某种原因,它没有连接。在我点击minLength后,搜索字段下面会打开一个小的空框,但里面什么都没有
更新:当我在响应调用中添加“alert(item);”时,我会看到一个窗口,上面写着“site.com上的页面显示:object object”——这可能是问题所在吗?尝试在数据类型中使用jsonp而不是json。多亏了我问题下面的提示注释,我终于找到了答案 在我从Jquery UI站点复制的返回中,我有:
label: item.name,
value: item.name
将其更改为:
label: item.label,
value: item.value
解决了我与jQuery的斗争。我不知道这是否是一个好的做法,但它最终还是奏效了 项目不是一个对象吗?您是否尝试过访问项中的参数,如item.value?谢谢!!多亏了你,我终于有了答案。