我正在努力从远程数据源获取自动完成功能。它返回 JSON,但不填充自动完成框。
$( "#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,
});
我的控制台输出是我所期望的。我认为它与返回数组有关。