我是 jQuery 新手,正在尝试使用自动完成小部件和对我的数据库的 ajax 调用。
我能够调用数据库,返回字符串值的 ArrayList,并使用org.codehaus.jackson.map.ObjectMapper
(我需要使用其他东西吗?)将响应转换为 JSON 对象。
当我放置祭坛时,我可以将结果视为带有逗号分隔符的纯字符串,但无法看到带有自动完成功能的建议列表。
使用以下方法返回 JSON 对象的 Java 代码org.codehaus.jackson.map.ObjectMapper
:
response.setContentType("application/json");
response.setHeader("cache-control", "no-cache");
ArrayList polNo = doa.getPolicyData(ajaxForm.getPolicyNumber());
ObjectMapper mapper = new ObjectMapper();
OutputStream out = response.getOutputStream();
mapper.writeValue(out, polNo);
JavaScript 代码:
$( "#policyNumber" ).autocomplete({
source: function (request,response){
$.ajax({
type: "POST",
url: "/NB/AjaxSubmit.do",
dataType: "json",
data: {policyNumber: request.term},
success: function (data) {
alert(data);
}
});
},minLength: 3
});
警报数据显示为:TMA412732,TMA412733,TMA412734
在上面的代码中,我返回了字符串值的 ArrayList,并且能够在自动填充中显示。我已经增强了上面的代码以返回具有名字、姓氏等的人员对象列表。现在,当用户在自动填充中键入名字或姓氏时,我想建议名字,姓氏中间。
有人可以帮助加强这一点吗?谢谢!
成功:函数(数据){响应(数据);//你忘记在响应中设置数据}