Я работаю над получением автозаполнения из удаленного источника данных. Это возвращает JSON, но он не заполняет поле автозаполнения.Ajax autocomplete issue
$("#patientName").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://localhost:8080/cs/accountTypeAhead",
dataType: "json",
type: 'POST',
data: { "patientName": $("#patientName").val(),
"requestID": (new Date()).getTime()},
success: function(data) {
var searchInfo = new Array();
for(var key in data)
{
if(typeof data[key] === "object") {
for(var i = 0; i < data[key].length; i++)
{
searchInfo.push(data[key]);
}//end for loop
}//end if
else if(key == "requestID")
{
if (data.requestID < $("#requestID").val())
{ return false;}
else
{
$("#requestID").val(data.requestID);
}
}//end if/else
}//end for loop
return searchInfo;
}
});
},
minLength: 1,
});
Мой выход с консоли - это то, что я ожидал. Я думаю, что это связано с возвратом массива.
Тогда как вы получите отдачу? Он возвращает правильное значение. Затем вы смотрите на примеры в [JQuery UI] (http://jqueryui.com/demos/autocomplete/remote-jsonp.html), это похоже. –
@David Nuckols: отредактировал мой ответ –